Ubuntu18 安装Mysql 5.7.35
文章目录
1.安装mysql
# 安装mysql服务端
sudo apt-get install mysql-server
2.卸载mysql
安装失败后,希望卸载后重新安装
#删除mysql
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoreclean(如果提示指令有误,就把reclean改成clean)
3.测试是否安装成功mysql
mysql
如果弹出一下信息就算安装成功
ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: NO)
登录的账号密码位于/etc/mysql/debian.cnf文件中,此为系统默认生成;
文件中有提示,建议不要根据文件内容
4.登录mysql并修改账号密码
mysql -u 账号 -p 密码
登录成功后
mysql> use mysql;
#假如你此时ubuntu登录的是root用户,或者提权为root,登录mysql是不需要密码的
#linux mysql 5.7 忘记密码,及修改密码问题,密码列不再是Password ,而是authentication_string
mysql> select user, authentication_string from user;
mysql> update user set authentication_string = authentication_string('密码') where user = '账号';
mysql> update user set authentication_string = '密码' where user = '账号';
5.新建账号并赋予权限
6.配置远程登录
(1) 编辑mysqld.cnf文件
注释bind-address = 127.0.0.1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#重启mysql server
sudo service mysql restart
(2) 增加允许远程访问的用户或者允许现有用户的远程访问
# 新建一个账号
mysql> INSERT INTO user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) VALUES('%','账号','密码','Y','Y','Y');
#授权
#上面的语句表示将 tron 数据库的所有权限授权给 root 这个用户,允许 root 用户在所有IP进行远程登陆。
mysql> grant all PRIVILEGES on tron.* to root@'%';
#刷新权限
FLUSH PRIVILEGES
此时即可远程登录mysql
7.数据库备份
#开启bin_log
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#在文件最下面加入下面2句
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
8.常见错误
7.1 ERROR 1045 (28000): Access denied for user 'ubuntu'@'localhost' (using password: NO)
#使用账号密码登录 mysql -u xxx -p xxx
初始账号为:root
初始密码为:<无初始密码>
#刷新权限
FLUSH PRIVILEGES
#ERROR 1067 (42000): Invalid default value for 'last_login_time'
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
#ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'tron'
先使用debian.cnf中的账号登录mysql,然后使用赋权限语句给root账号赋权重启数据库即可