欢迎访问本文源站http://javafeng.com/blog/45/,源站中针对此文进行了优化和重新排版,欢迎访问。
安装Mysql
Ubuntu下安装Mysql有两种方式,一种是通过源码包进行安装,另一种是通过APT安装,相比而言APT安装比较简单,因此也推荐APT进行安装。
APT安装
APT安装时,需要安装两个软件,分别为Mysql客户端和服务,代码如下:
首先安装客户端工具mysql-client
sudo apt install mysql-client #也可表示为mysql-client-x.x来指定版本,例如mysql-client-5.6
安装mysql服务mysql-server
sudo apt install mysql-server #也可表示为mysql-server-x.x来指定版本,例如mysql-server-5.6
在某些版本下,安装过程中会要求输入Mysql Root用户的密码,如果遇到,输入你自己的密码即可。如果没有要求输入,请参看之后的 初始化Root密码 部分。
源码包安装
过程复杂,时间不足,各位大佬自行百度吧
初始化Root密码
若安装过程中没有要求输入密码,则Mysql会生成一个默认的密码,查看方式如下:
sudo cat /etc/mysql/debian.cnf
如图就是默认的密码,使用mysql -u root -p
之后,输入如上密码即可进入mysql,若在输入后,出现如下错误:
ERROR1698(28000):Access denied for user root@localhost
出现如上错误时,需要编辑mysql配置文件来跳过密码验证:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
然后按图示添加语句skip-grant-tables
:
此时进入数据库无需密码,进入数据库之后,更新root用户密码:
use mysql;
update user set authentication_string=password("你的密码") where user="root";
flush privileges;
此时为了避免另外一个因为密码验证模式不匹配出现的无法进入数据库的问题,直接修改root用户的密码验证模式,改变上述的修改密码的语句:
update user set authentication_string=password("你的密码"),plugin='mysql_native_password' where user="root";
然后ctrl+D退出,注释掉/etc/mysql/mysql.conf.d/mysqld.cnf中添加语句,此时初始化mysql root密码就完成了。
开启远程访问
使用mysql -u root -p
进入数据库,之后执行如下语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '远程访问密码' WITH GRANT OPTION;
其中 ‘root’@’%’ 中的root表示远程访问数据库的账户,%表示所有IP均可访问,'远程访问密码’表示远程访问mysql时需要的密码,此时就完成了mysql开启远程访问的操作。