1. 安装mysql
| tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar |
| mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql |
2. 配置mysql
vim /etc/my.cnf
| [client] |
| default-character-set=utf8mb4 |
| |
| [mysqld] |
| |
| port=3306 |
| user=mysql |
| basedir=/usr/local/mysql |
| datadir=/home/mysql/data |
| socket=/tmp/mysql.sock |
| log-error=/home/mysql/data/mysql.err |
| pid-file=/home/mysql/data/mysql.pid |
| |
| character_set_server=utf8mb4 |
| symbolic-links=0 |
| explicit_defaults_for_timestamp=true |
| lower_case_table_names=1 |
| |
| |
| default-time_zone = '+8:00' |
| log_bin_trust_function_creators=1 |
| join_buffer_size = 16M |
| |
| log-bin = /home/mysql/data/mysql-bin |
| |
| |
| |
| max_binlog_size = 100M |
| |
| general_log = 1 |
| |
| general_log_file = /home/mysql/log/query.log |
| |
| slow_query_log = 1 |
| |
| slow_query_log_file = /home/mysql/log/slow-query.log |
| |
| long_query_time = 2 |
| |
| sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES |
| back_log = 600 |
| max_connections = 1000 |
| max_connect_errors = 6000 |
| open_files_limit = 65535 |
| table_open_cache = 128 |
| max_allowed_packet = 4M |
| binlog_cache_size = 1M |
| max_heap_table_size = 8M |
| tmp_table_size = 16M |
| skip-name-resolve=ON |
| |
| |
| |
| default-storage-engine=INNODB |
| innodb_buffer_pool_size=2G |
| |
| innodb_log_file_size=256M |
| innodb_log_buffer_size=12M |
| innodb_flush_log_at_trx_commit=2 |
| |
| |
| |
| log_bin_trust_function_creators=1 |
| transaction-isolation = READ-COMMITTED |
| |
| wait_timeout=7200 |
| interactive_timeout=7200 |
| net_read_timeout=600 |
| net_write_timeout=600 |
| |
| |
| innodb_file_per_table=1 |
| |
| |
| |
| innodb_compression_level=6 |
| |
| |
| |
| innodb_compression_pad_pct_max=50 |
| |
| init_connect='SET NAMES utf8mb4' |
| [mysql] |
| default-character-set = utf8mb4 |
mkdir -p /home/mysql/data
mkdir -p /home/mysql/log
3.创建mysql用户、组
| groupadd mysql |
| useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql |
| cd /usr/local/mysql |
| chown -R mysql . |
| chgrp -R mysql . |
| chown -R mysql /home/mysql/data |
4.初始化mysql
| cd /usr/local/mysql/bin/ |
| ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/ --user=mysql --initialize |
5. 查看root初始密码
| cd /home/mysql/data/ |
| cat mysql.err |
6. 设置软连接
| ln -s /usr/local/mysql/bin/mysqldump /usr/bin |
| ln -s /usr/local/mysql/bin/mysql /usr/bin |
7. libtinfo.so.5缺失处理
| find / -name libtinfo.so.* |
| ln -s /usr/lib64/libtinfo.so.6.4 /usr/lib64/libtinfo.so.5 |
8. 设置service,并启动MYSQL
| cd /usr/local/mysql |
| cp -a ./support-files/mysql.server /etc/init.d/mysqld |
| chmod +x /etc/init.d/mysqld |
| service mysqld start |
9. 登录mysql,初始密码参看步骤5
mysql -uroot -p
10. 改root密码
| alter user user() identified by "新密码"; |
| ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; |
| FLUSH PRIVILEGES; |
| |
| use mysql |
| update user set host = '%' where user = 'root'; |
| FLUSH PRIVILEGES; |
11. 开启防火墙,远程测试
| firewall-cmd --permanent --add-port=3306/tcp |
| firewall-cmd --reload |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了