Centos 8 安装MySQL 8.0.23
- 说在前面
- MySQL安装包下载
- 安装步骤
- 解压文件
- 将解压的文件夹挪到/usr/local/mysql
- 创建data文件夹
- 创建 mysql 用户组和 mysql 用户
- 改变mysql目录权限
- 初始化数据库
- 配置文件
- 到了激动人心的启动mysql环节
- 登录mysql
- 最后说几句
说在前面
没Linux经验,更没有在Linux上安装MySQL的经验,纯小白,安装过程完全照着百度来搞的,仅供参考。
文章主要参考了这位老哥的文章
Linux安装MySQL8.0.11
MySQL安装包下载
使用了中科大镜像下载
下载的是mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz这个版本
需要注意的是如果你下载的MySQL版本与本文不同的话,参考的时候记得注意版本号的不同,不要直接复制啊!(谁会像我一样犯这种奇怪的错误啦!)
如果使用的是虚拟机上的linux,强烈建议使用shell进行操作,在安装之前记得保存快照
安装步骤
将下好的文件存在了 /root 里
[root@localhost ~]# ls
apache-maven-3.6.3-bin.tar.gz mysql-8.0.23-linux-glibc2.1286_64.tar.xz
说起来这是我第一次用markdown来写文章,妈耶这玩意这么好用的吗?相见恨晚!
解压文件
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
将解压的文件夹挪到/usr/local/mysql
mv /root/mysql-8.0.23-linux-glibc2.12-x86_64 /usr/local/mysql
创建data文件夹
mkdir data
创建 mysql 用户组和 mysql 用户
groupadd mysql
useradd -g mysql mysql
改变mysql目录权限
chown -R mysql.mysql /usr/local/mysql/
初始化数据库
创建mysql_install_db安装文件
在mysql目录下输入:
mkdir mysql_install_db
chmod 777 ./mysql_install_db
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
然后会出现[Server] A temporary password is generated for root@localhost: D6kEPqmr%#rP
这一行,说明创建成功了!
记得把临时密码记下来,我这显示的是D6kEPqmr%#rP这段
配置文件
复制
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
vim /etc/my.cnf
vim其实我也不太会用,大概就是进入vim界面后按I就可以对文本进行编辑了,编辑完后按ESC退出,再输入:wq
就可以保存退出了,记得带冒号。
这里直接复制粘贴就可以,my.cnf配置文件有很多可以配置的东西,有兴趣可以搜一下
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /usr/local/mysql/mysql.sock
default-character-set=utf8
设置权限
chmod +x /etc/init.d/mysql
chmod +x /etc/rc.d/init.d/mysqld
设置服务
chkconfig --add mysql
chkconfig --add mysqld
在/etc/profile 文件最底下添加路径
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
设置环境变量立即生效
source /etc/profile
到了激动人心的启动mysql环节
service mysql start
我在启动的时候遇到了这个错误
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
好像是啥库不在它该在的地方
查了下,复制下面这行进去就解决了👇(对我而言!)
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
登录mysql
mysql -uroot -p+刚刚保存的密码
比如我的就是
mysql -uroot -pD6kEPqmr%#rP
至此就成功登录了。起飞啦大古!
最后说几句
俺用的xshell跑的,感觉复制粘贴命令会方便很多,很舒服~
markdown很好用!写爽了~