centos9 安装mysql 8

下载mysql

 MySQL :: Download MySQL Community Server

上传到centos9中

解压缩文件

建立mysql文件夹

[root@localhost /]# mkdir mysql
[root@localhost /]# chmod 777 mysql

 移动文件夹内的文件到 mysql文件夹下

[root@localhost 下载]# mv mysql-8.0.28-linux-glibc2.12-x86_64/* /mysql

安装CentOS 9依赖

 yum search libaio

修改mysql配置文件

首先是my.cnf, 发现CentOS9   etc 下没有 my.cnf 那么我们来建立一个

将以下内容复制进去,注意,我这里的端口配置的是20010,自己根据自己的需求设置




[client]
port=20010
socket=/mysql/data/mysql.sock

[mysql]
port=20010
socket=/mysql/data/mysql.sock

[mysqld]
#端口
port=20010
#操作数据库用户
user=mysql
#mysql安装目录
basedir=/mysql
#mysql数据目录
datadir=/mysql/data
#服务器在其中写入其进程 ID 的文件的路径名
pid-file=/mysql/data/mysql.pid
socket=/mysql/data/mysql.sock
#事务隔离级别
transaction_isolation=READ-COMMITTED
#不区分大小写
lower_case_table_names=1
#禁用DNS域名解析
skip-name-resolve=ON
#UPDATE并且 DELETE在WHERE子句或LIMIT子句中不使用键的 语句会产生错误
#sql_safe_updates=ON
#允许连接mysql的ip地址,多个值用逗号隔开
#bind_address=
#服务器在响应之前等待连接数据包 的秒数
connect_timeout=30
#默认身份验证插件
default_authentication_plugin=mysql_native_password
#错误日志文件
log_error=/mysql/log/error.log
#开启记录慢查询日志
slow_query_log=1
#一般查询日志和慢查询日志输出的目的地
log_output=FILE
#sql查询日志输出文件
slow_query_log_file=/mysql/log/mysql-slow.log
#慢查询sql标准
long_query_time=5
#允许的最大并发客户端连接数
max_connections=2000
max_connect_errors=1000
#服务器在关闭交互式连接之前等待活动的秒数
interactive_timeout=86400
#服务器在关闭非交互式连接之前等待活动的秒数
wait_timeout=86400

修改mysl.server脚本

#vim /mysql/support-files/mysql.server

主要是修改,安装目录、数据目录、日志目录,pid文件(不懂shell脚本的,找到所有/usr/local/myql,更换成自己的安装目录)

basedir=/mysql
datadir=/mysql/data
service_startup_timeout=900
sbindir=/mysql/bin
libexecdir=/mysql/bin
mysqld_pid_file_path=mysql/data/mysql.pid

修改安全启动脚本

#vi /software/mysql/8.0.27/bin/mysqld_safe 

主要是修改,安装目录、数据目录、日志目录,pid文件

创建mysql用户组和mysql用户

#groupadd mysql

#useradd -r -g mysql mysql

关联myql用户到mysql用户组中

#chown -R mysql:mysql /software/mysql/

#chown -R mysql  /software/mysql/

赋予安装权限

 #chmod 750 /software/mysql/8.0.27/

初始化mysql命令

#cd /software/mysql/8.0.27/bin

下面这个命令是说,使用/etc/my.cnf的配置初始化mysql

#./mysqld --defaults-file=/etc/my.cnf --initialize

初始化完成后,mysql的初始密码在/mysql/log/error.log里面

[root@localhost bin]# vim /mysql/log/error.log
2022-03-22T07:13:26.584854Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
2022-03-22T07:13:26.584864Z 0 [System] [MY-013169] [Server] /mysql/bin/mysqld (mysqld 8.0.28) initializing of server in progress as process 4169
2022-03-22T07:13:26.594983Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-03-22T07:13:26.910150Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-03-22T07:13:28.238361Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: y9p87aeBiW_:

启动服务

# /mysql/support-files/mysql.server start

[root@localhost mysql]# support-files/mysql.server start
Starting MySQL SUCCESS! 

登录mysql

#cd /software/mysql/8.0.27/bin

#./mysql -uroot –p

如果出现下面的错误

说明缺少依赖, 一般来说 是由于CentOS9版本新导致就板的依赖包找不到。

我们来查找依赖包的升级文件,

网上查找后知道libtinfo.so.5 是 ncurses-libs 的一个包文件,我们在安装cd中找到了这个包的所有依赖文件

 rpm -ivh /run/media/zhangcao/CentOS-Stream-9-BaseOS-x86_64/BaseOS/Packages/ncurses-libs-6.2-8.20210508.el9.x86_64.rpm 

rpm -ivh /run/media/zhangcao/CentOS-Stream-9-BaseOS-x86_64/BaseOS/Packages/ncurses-6.2-8.20210508.el9.x86_64.rpm

然后看一下 安装目录 和文件

rpm -qpl ncurses-libs-6.2-8.20210508.el9.x86_64.rpm 
/usr/lib64/libform.so.6
/usr/lib64/libform.so.6.2
/usr/lib64/libformw.so.6
/usr/lib64/libformw.so.6.2
/usr/lib64/libmenu.so.6
/usr/lib64/libmenu.so.6.2
/usr/lib64/libmenuw.so.6
/usr/lib64/libmenuw.so.6.2
/usr/lib64/libncurses.so.6
/usr/lib64/libncurses.so.6.2
/usr/lib64/libncursesw.so.6
/usr/lib64/libncursesw.so.6.2
/usr/lib64/libpanel.so.6
/usr/lib64/libpanel.so.6.2
/usr/lib64/libpanelw.so.6
/usr/lib64/libpanelw.so.6.2
/usr/lib64/libtic.so.6
/usr/lib64/libtic.so.6.2
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.2

 结果中看到我们要找的文件 libtinfo.so.6.2 然后做一个软连接

ln -s libtinfo.so.6.2 libtinfo.so.5

之后就可以登录了 

[root@localhost bin]# ./mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.28

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

 

修改初始密码

>mysql ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义密码';

>mysql use msyql;

修改用户权限可远程连接mysql

创建一个新用户

>mysql CREATE USER 'admin'@'%' IDENTIFIED BY '自定义密码';

授权(拥有所有权限)

>mysql GRANT ALL ON *.* TO 'admin'@'%' WITH GRANT OPTION;

刷新权限

>mysql FLUSH PRIVILEGES;

好了 所有设置完成,下面可以开始操作数据库了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值