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账号赋权重启数据库即可
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐