Mysql 5.7--ubuntu18.04 安装过程及遇到的问题
Mysql 5.7安装过程
1. 下载mysql的apt-config文件
a. https://dev.mysql.com/downloads/file/?id=477124
b. 点击download 下载
2. Dpkg 安装文件
sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb
Tab 选择版本
Tab 选ok
3. 安装
a. Sudo apt-get update 更新
b. Sudo apt-get install mysql-server 直接安装。
以上过程网上说是会提示输入mysql root 的密码 ,但在安装时没有提示输入密码 安装成功了。
Mysql 5.7遇到的问题:
1. 当使用mysql -u root 登录数据库时 提示:
a. mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
2. 解决这个问题时又出现了另外一个新的问题 按照网上的解决思路是,先停止mysql服务, 安全模式启动mysql 会跳过输入密码的阶段。
3. 新问题,当停止mysql服务 使用 安全模式启动时 报错如下:
2019-03-22T05:13:51.840429Z mysqld_safe Logging to syslog.
2019-03-22T05:13:51.844642Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2019-03-22T05:13:51.848027Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
4. 解决问题
a. 先处理这个文件目录的问题
b. 新建文件目录
c. sudo mkdir -p /var/run/mysqld
d. 再次使用安全模式启动mysql
i.
sudo mysqld_safe --skip-grant-tables &
ii. 启动成功
e. 开启新的shell (复制会话即可)
f. 解决user root@locahost问题
g. Ps 看下mysql进程
. 登录mysql
mysql -u root
1. 登录成功后查询用户表
select user, plugin from mysql.user;
可以看到root plugin 的状态不对
关于auth_socket mysql官网有解释 google 百度都可以查到
2. 修改这个属性
update mysql.user set authentication_string=PASSWORD('123456789'),plugin='mysql_native_password'where user='root';
3.刷新权限,更改完root密码后要执行下刷新权限
flush privileges;
5.. 退出mysql 重启服务即可正常登录,重启服务不行就重启服务器。