赞
踩
本文的服务器环境:openEuler毛坯版的,很多常用的指令都没有预装,比如rpm、tar等等,没有网络坏境,需要自己手动配置本地yum仓库,安装相关指令,按本文如遇到问题可以先参考文章最后的问题总结,是否有类似问题
rpm -qa | grep mysql
如图所示:
将查询出的安装程序使用rpm命令依次卸载:
rpm -e mysql-xxxxxxx --nodeps
find / -name mysql
如图所示:
使用 rm -rf 命令, 删除上方的mysql相关目录依(根据自己查找出来的目录进行依次删除):
点击下载版本包:mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysql8
chown -R mysql:mysql /usr/local/mysql8
vi /etc/my.cnf
配置文件内容:配置文件中的目录根据自己的实际情况可以做修改
# 优先读取/etc/my.cnf.d目录下配置文件,一般用不着 #!includedir /etc/my.cnf.d # 客服端设置 [client] # 服务套接字位置 socket=/mnt/data/mysql/mysql.sock [mysqld] # 数据目录,路径的位置根据实际情况配置,给目录指定权限,否真会报权限问题 datadir=/mnt/data/mysql/mysql-data # mysql端口号 port = 3306 # 日志文件输出,需要给目录配置权限,否则会报目录权限问题 log-error=/mnt/data/mysql/mysql-logs/mysql.log # 不区分大小写 # MySQL在Windows上会将所有的表名和数据库名转换为小写,并且在查询时不区分大小写。这有助于在不同操作系统之间移植数据库 lower_case_table_names=1 # 服务套接字位置,需要给目录配置权限 socket=/mnt/data/mysql/mysql.sock # 是否与旧版本的客户端兼容,可能需要将此参数设置为mysql_native_password # default_authentication_plugin=mysql_native_password # 最大传输如果数据包超过这个大小,MySQL会报错 # max_allowed_packet=64M # 最大连接并发数据量 # max_connections=1000
- chown -R mysql:mysql /mnt/data/mysql/mysql-data
- chown -R 755 /mnt/data/mysql/mysql-data
-
- chown -R mysql:mysql /mnt/data/mysql/mysql-logs
- chmod -R 755 /mnt/data/mysql/mysql-logs
-
- chown -R mysql:mysql /mnt/data/mysql
- chown -R 755 /mnt/data/mysql
-
- chmod -R 777 /mnt/data/mysql/
设置命令,方便命令操作,软链接执行mysql8下对应命令文件,执行下面所有的指令
- ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysql
-
- ln -snf /usr/local/mysql8/bin/mysqld /usr/sbin/mysqld
-
- ln -snf /usr/local/mysql8/bin/mysqladmin /usr/bin/mysqladmin
-
- ln -snf /usr/local/mysql8/bin/mysqlbinlog /usr/bin/mysqlbinlog
-
- ln -snf /usr/local/mysql8/bin/mysqlcheck /usr/bin/mysqlcheck
-
- ln -snf /usr/local/mysql8/bin/mysql_config_editor /usr/bin/mysql_config_editor
-
- ln -snf /usr/local/mysql8/bin/mysqldump /usr/bin/mysqldump
-
- ln -snf /usr/local/mysql8/bin/mysqldumpslow /usr/bin/mysqldumpslow
-
- ln -snf /usr/local/mysql8/bin/mysqlimport /usr/bin/mysqlimport
-
- ln -snf /usr/local/mysql8/bin/mysqlpump /usr/bin/mysqlpump
-
- ln -snf /usr/local/mysql8/bin/mysql_secure_installation /usr/bin/mysql_secure_installation
-
- ln -snf /usr/local/mysql8/bin/mysqlshow /usr/bin/mysqlshow
-
- ln -snf /usr/local/mysql8/bin/mysqlslap /usr/bin/mysqlslap
-
- ln -snf /usr/local/mysql8/bin/mysql_tzinfo_to_sql /usr/bin/mysql_tzinfo_to_sql
-
- ln -snf /usr/local/mysql8/bin/mysql_upgrade /usr/bin/mysql_upgrade
到此输入以下命令可以查看版本:
- mysql -V
- mysqld -V
此步骤只有一台服务器遇到问题,是因为系统依赖坏境问题,缺少什么依赖库:
如何跟新依赖库自行百度即可,本文是从本地的yum仓库中进行安装的:
yum --disablerepo="*" --enablerepo="local" install ncurses-compat-libs
此问题理论上是不影响向下继续操作的,如有强迫症对应的error可以百度
vi /etc/profile
在最后追加:
- # add mysql
-
- export PATH=$PATH:/usr/local/mysql8/bin
cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
修改/etc/init.d/mysqld的基础路径:
vi /etc/init.d/mysqld
修改目录位置:
- basedir=/usr/local/mysql8 (安装路径)
- datadir=/mnt/data/mysql/mysql-data (与配置文件保持一致)
确保service mysql 或 mysqld start均可启动:
cp /etc/init.d/mysqld /etc/init.d/mysql
添加到启动列表:
chkconfig --add mysqld
刷新启动信息:
systemctl daemon-reload
查看启动项列表
chkconfig –list
如图所示:
初始化命令:--basedir:根据实际mysql安装路径
mysqld --user=mysql --basedir=/usr/local/mysql8 --initialize
初始化后,查看mysqld.log(默认/var/log/mysqld.log或本文取决于my.cnf的日志路径配置),找到root初始密码,在执行上方initialize语句时mysqld.log文件中就会打印,如图:
启动mysql:
service mysqld start
使用root登录:
mysql -uroot -p
首次需要修改密码 :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。