sudo apt-get install mysql-server
sudo apt isntall mysql-client
sudo apt install libmysqlclient-dev
安装成功后可以通过下面的命令测试是否安装成功:
sudo netstat -tap | grep mysql
出现如下信息证明安装成功:
可以通过如下命令进入MySQL服务:
mysql -uroot -p你的密码
现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:
grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;
flush privileges;
然后执行exit;命令退出mysql服务,执行如下命令重启mysql:
service mysql restart
下面回顾一下安装过程中我遇到的问题:
1、安装到Renaming removed key_buffer and myisam-recover options (if present)
就卡住了,而且ctrl+C 也无法退出,最后我关闭了终端强制退出了,但是我发现运用sudo netstat -tap | grep mysql
居然显示是启动成功的,可是进入shell界面就会出现问题,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)
网上找了一堆方法,都无法解决。
无奈考虑卸载重装:
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor //这个apparmor是在装mysql-server时装上的,和安全有关
2、重启电脑后(很多时候重启是法宝),再次利用命令apt-get安装mysql-server,运行到Renaming removed key_buffer and myisam-recover options (if present)
仍然卡住了,我再次中止了终端,发现启动也是成功的,尝试进入shell界面,出现另一种新的错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
,然后又是找了很多国内外资料,国内百度无法搜索出和这个错误完全相关的,还是老实FQ上谷歌,提出的方案是需要删除一些重复的配置文件,但是我连这个/var/run/mysqld/mysqld.sock
没有,因此仍然无法解决。
再次卸载。考虑一定要卸载非常彻底。
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo rm /var/lib/mysql/ -R //非常重要 sudo rm /etc/mysql/ -R //非常重要
3、重启电脑,再次利用命令sudo apt-get install mysql-server
顺利安装成功!
配置远程访问
a、编辑配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1注释
b、修改用户权限
登录MySQL:mysql -u root -p --远程访问 mysql -h 192.168.0.202 -P 3306 -u root -p123 123为root用户密码
用户权限:grant all on *.* to root@'%' identified by '6'; --添加一个用户名是root且密码是6的远程访问用户
刷新:flush privileges;
查看是否添加成功:select user,host,authentication_string from user; --在5.7中用户密码是列authentication_string
退出:exit;
c、重启MySQL服务
/etc/init.d/mysql restart
3、完成且测试通过。
ps: