CentOS7 安装mysql8
1、下载并解压 mysql安装包
https://downloads.mysql.com/archives/community/
放到服务器后解压
-C 放到指定文件夹
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /usr/local
修改mysql 文件夹名
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql
2、创建mysql 用户和用户组
>groupadd mysql
>useradd -r -g mysql mysql
3、创建数据文件夹data,并给权限
> mkdir -p /usr/local/data # 给mysql用户权限 > chown -R mysql:mysql /usr/local/data > chmod -R 755 /usr/local/data
4、给mysql的log目录权限
chown -R mysql:mysql /var/log
5、修改mysql配置文件
> vim /etc/my.cnf

[mysqld] #datadir=/var/lib/mysql #socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks #symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/usr/local/data socket=/tmp/mysql.sock #socket=/data/mysql/mysql.sock log-error=/var/log/mysql.err pid-file=/var/log/mysql.pid ##character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true lower_case_table_names=1
6、初始化mysql
> ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/data/ --user=mysql --initialize
查看mysql临时密码
> cat /var/log/mysql.err
7、启动mysql 修改初始密码
>cd /usr/local/mysql/support-files
>./mysql.server start
查看mysql进程
>ps -ef|grep mysql
登录mysql
>cd /usr/local/mysql/bin
修改密码
> ./mysql -u root -p
> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
8、开放远程连接
>use mysql; >update user set user.Host='%' where user.User='root'; >flush privileges;
查看大小写不敏感是否设置成功
> show global variables like "%lower%";
9、配置开机自动启动
> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld > chmod +x /etc/init.d/mysqld > chkconfig --add mysqld > chkconfig --level 2345 mysqld on > chkconfig --list mysqld #查看是否已应用上
使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。 参数用法: --add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。 --del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。 --level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。 等级0表示:表示关机 等级1表示:单用户模式 等级2表示:无网络连接的多用户命令行模式 等级3表示:有网络连接的多用户命令行模式 等级4表示:不可用 等级5表示:带图形界面的多用户模式 等级6表示:重新启动
10.添加MySQL的软链接以适应init脚本
>ln -sv /usr/local/mysql/bin/mysql /usr/sbin/mysql > ln -sv /usr/local/mysql/bin/mysqladmin /usr/sbin/mysqladmin > ln -sv /usr/local/mysql/bin/mysqldump /usr/sbin/mysqldump
参考:1、https://blog.csdn.net/weixin_44925596/article/details/90256089
2、https://blog.csdn.net/liuwei0376/article/details/90033290
3、https://blog.csdn.net/qq_37598011/article/details/93489404?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166781874116782429781050%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166781874116782429781050&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-4-93489404-null-null.142^v63^opensearch_v2,201^v3^control_2,213^v1^control&utm_term=Linux%E5%AE%89%E8%A3%85MySQL5.7&spm=1018.2226.3001.4187
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏