ubuntu安装MariaDB

来源:互联网 发布:百度自动发帖软件 编辑:程序博客网 时间:2024/06/07 12:29

引言:MariaDB在MySQL被Oracle收归旗下之后,开始作为Linux默认的数据库系统,这里主要描述在Ubuntu 16.04下如何来安装MariaDB的步骤。

1.  安装指令

sudo apt-get install software-properties-commonsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.2/ubuntu xenial main'


这里选中清华的数据服务

sudo apt update

执行结果如下:

yzc@yzc:~$ sudo apt update

>> sudo apt install mariadb-server


2. 查看sourcelist.

 >>  sudo vi /etc/apt/sources.list

# MariaDB 10.2 repository list - created 2017-08-10 05:39 UTC
# http://downloads.mariadb.org/mariadb/repositories/
deb [arch=amd64,i386] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.2/ubuntu xenial main
deb-src http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.2/ubuntu xenial main

3. 无法连接Mariadb的问题

安装完成Mariadb之后,基于mysql workbench无法连接mariadb, 提示"Plugin 'unix_socket' is not loaded"的错误细心:

什么是unix_socket plugin?

是一种安全机制,允许使用操作系统的安全机制连接数据库,通过unix_socket组件,通常使用用在Ubuntu 15.04+以上的系统中。

解决的方法:

1.  尝试登陆mysql的命令, mysql -u root -p, 如果看到如下错误,则需要进入步骤2,否则直接进入步骤6.

linuxidc@linuxidc:~$ sudo mysql -u root -p
Enter password:
ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded

这个原因是由于当前使用的unix_socket来进行连接,但是缺省的用户也无法进行访问。

     2. 停止服务,使用设置native方式来访问,重置缺省密码

   >> sudo systemctl stop mariadb  # 停止服务

   >> sudo mysqld_safe --skip-grant-tables &  # 进入安全模式,并设置为后台进程

>> mysql -u root   # 登陆mysql

>>  select Host,User,plugin from mysql.user where User='root';  # 查询用户

>> update mysql.user set plugin='mysql_native_password';  #重置加密模式

   >> update mysql.user set password=PASSWORD("newpassword") where User='root';  #重置密码

   >>  flush privileges;  #刷新权限信息

>>  exit


杀掉进程,重新启动服务

 >> sudo kill -9 $(pgrep mysql)  # 杀掉进程

 >> sudo service mariadb start # 重新启动服务

3. 登陆mysql, 安装unix_soket

>> mysql -u root -p

  >> install plugin unix_socket soname 'auth_socket';

然后就可以正常访问了。

原创粉丝点击