阿里云服务器中 mysql 5.6版本中无法使用 json_object函数,从官网手动下载mysql8进行安装
1. 安装 MySQL5.6
2. 下载 MySQL 8.0.xx
https://downloads.mysql.com/archives/community/
选择操作系统为 Linux-Generic
下载 .tar.xz 文件
传输文件到 /app/mysql
,进行解压
1 | [root@centos7 ~]# cd /app/mysql |
3. 安装MySQL
创建一个mysql用户:
1 | [root@centos7 mysql]# useradd mysql |
设置mysql用户密码:
1 | [root@centos7 mysql]# echo '123456'|passwd --stdin mysql |
进入到mysql的bin目录下 新建data,log文件夹
1 | [root@centos7 mysql]# cd mysql-8 |
建立mysql软链接
1 | [root@centos7 mysql-8]# rm -rf /usr/bin/mysql |
复制 /etc/init.d/mysql 配置文件
1 | [root@centos7 mysql-8]# rm -rf /etc/init.d/mysql |
然后在/etc/init.d/mysql 中配置
1 | [root@centos7 mysql-8]# vi /etc/init.d/mysql |
添加两行,就是mysql安装目录和目录下data
1 | basedir=/app/mysql/mysql-8 |
新建 /etc/my.cnf - 该文档来源于 mysql-5.6.30/support-files/my-default.cnf
1 | [root@centos7 mysql]# rm -f /etc/my.cnf |
设置数据存放目录,日志存储目录
1 | # For advice on how to change settings please see |
初始化 mysqld
1 | [root@centos7 mysql-8]# cd bin |
此时在 /app/mysql/mysql-8/log
中存在 error.log
里面存放着mysql登录的初始密码
1 | [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 0?z0<n#6qbU5 |
正常启动mysql服务
1 | [root@centos7 mysql-8]# service mysql start |
4. 系统控制mysql
1 | # 启动mysql命令 |
5. 修改密码
输入的是刚刚的密码 0?z0<n#6qbU5
1 | [root@centos7 mysql-8]# mysql -uroot -p |
执行修改密码的命令
出现错误❌
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
MySQL 采用的是 Linux- Generic 包安装
解决问题
1 | sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 |
问题解决后,更新密码
1 | mysql> alter user 'root'@'localhost' identified by '密码'; |
6. 配置远程访问
1 | mysql> create user 'root'@'%' identified by '密码'; |
现在可以通过 Navicat 连接 ecs