linux下安装mysql二进制版本(5.6.34)
版本:社区版 5.6.34
我这里下载的是mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
1.创建mysql用户和用户组
#groupadd mysql
#useradd -g mysql mysql
#passwd mysql
2.下载解压二进制文件,解压,进入解压出来的文件
[root@host01 db]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
[root@host01 db]# mv mysql-5.6.34-linux-glibc2.5-x86_64 /home/mysql56
3.在mysqlmha目录下创建如下文件夹
[mysql@host01 mysqlmha]$ cd /home/mysql56
[mysql@host01 mysqlmha]$ mkdir conf ## 配置文件目录
[mysql@host01 mysqlmha]$ mkdir data ##数据文件
[mysql@host01 mysqlmha]$ mkdir redolog ##redo日志文件
[mysql@host01 mysqlmha]$ mkdir ibdata ##ibdata文件
[mysql@host01 mysqlmha]$ mkdir -p mysqllog/relaylog ##主从环境relaylog
[mysql@host01 mysqlmha]$ mkdir -p mysqllog/logfile ##错误日志文件
[mysql@host01 mysqlmha]$ mkdir -p mysqllog/binlog ##binlog文件
[mysql@host01 mysqlmha]$ mkdir -p secure_file ##数据导入导出目录
4.创建配置文件
在conf目录下创建配置文件my.cnf,配置文件内容附后.
5.更改文件夹mysqlmha的文件所属用户
[root@host01 db]# chown -R mysql:mysql /home/mysql56
6.安装数据库
[root@host01 db]#cd /home/mysql56/scripts
[root@host01 db]#./mysql_install_db --user=mysql --basedir=/home/mysql56 --datadir=/home/mysql56/data
执行该步骤的时候有可能遇到如下错误:
错误1:
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
Data::Dumper
解决方法:安装autoconf库
命令:yum -y install autoconf
错误2:
-bash: ./mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
貌似提示注释器错误,没有/usr/bin/perl文件或者档案,解决办法(安装perl跟perl-devel即可):
执行:yum -y install perl perl-devel
错误3:
[root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/opt/mysql5640 --datadir=/opt/mysql5640/data
Installing MySQL system tables.../opt/mysql5640/bin/mysqld: error while
loading shared libraries: libaio.so.1: cannot open shared object file:
No such file or directory
解决办法
[root@example.com data]# yum install -y libaio
7.创建软连接
[root@host01 db]# mkdir -p /usr/local/mysql/bin
[root@host01 db]# ln -s /db/mysqlmha/bin/mysqld /usr/local/mysql/bin/mysqld
[root@host01 db]# chown -R mysql:mysql /usr/local/mysql
8.启动数据库
[root@host01 db]#./mysqld_safe --defaults-file=/home/mysql56/conf/my.cnf --user=mysql
9.登陆数据库修改密码
数据库安装后root账号的初始化密码为空,不需要密码即可登陆数据库,为了安全起见,登陆后立即修改数据库密码
[root@host01 db]$./mysql -h localhost -u root -S /home/mysql56/mysql.sock
update mysql.user set password=PASSWORD('mysql') where user='root' and host='localhost';
flush privileges;
删除用户名或是密码为空的账号
delete from mysql.user where user='';
delete from mysql.user where password='';
10.关闭数据库后重启
[mysql@host01 bin]$ ./mysqladmin -h localhost -u root -p -S /home/mysql56/mysql.sock shutdown
[mysql@host01 bin]$./mysqld_safe --defaults-file=/home/mysql56/conf/my.cnf --user=mysql
11.把mysql加入系统自启动
[root@host01 ~]# more /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/db/mysqlmha/bin/mysqld_safe --defaults-file=/db/mysqlmha/conf/my.cnf --user=mysql &
12. 5.6.34版本有bug,某些表需要重建,点击链接安装部署实施.
http://blog.chinaunix.net/uid-77311-id-5756660.html
centos 7自动启另外一种方式:
1.touch /usr/lib/systemd/system/mysql.service 2.该文件内容如下: [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/opt/mysql5640/bin/mysqld_safe --defaults-file=/opt/mysql5640/conf/my.cnf --user=mysql LimitNOFILE = 5000 #Restart=on-failure #RestartPreventExitStatus=1 #PrivateTmp=false 3.通过systemctl启动 systemctl start mysql 遇到无法启动的情况下需要做如下操作 [root@localhost bin]# systemctl start mysql Warning: mysql.service changed on disk. Run 'systemctl daemon-reload' to reload units. 解决办法: [root@localhost bin]# systemctl daemon-reload 4.启用开启自启动 systemctl enable mysql 5.查看启动状态 systemctl status mysql |
my.cnf配置文件内容如下:
[mysql@host01 conf]$ more my.cnf
[mysqld]
port=3306
server-id=23
basedir=/home/mysql56
datadir=/home/mysql56/data
socket=/home/mysql56/mysql.sock
max_connections = 16000
character_set_server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
interactive_timeout=86400
wait_timeout=86400
skip-external-locking
key_buffer_size= 128M
max_allowed_packet=32M
query_cache_size=32M
read_buffer_size=2M
sort_buffer_size=1M
join_buffer_size= 128M
innodb_file_per_table= 1
innodb_open_files= 5000
innodb_buffer_pool_size= 10G
innodb_write_io_threads= 16
innodb_read_io_threads= 16
innodb_thread_concurrency = 0
innodb_purge_threads= 1
innodb_flush_log_at_trx_commit= 2
innodb_log_buffer_size=16M
innodb_log_file_size=512M
innodb_log_files_in_group= 5
innodb_max_dirty_pages_pct= 90
innodb_lock_wait_timeout= 120
bulk_insert_buffer_size= 64M
myisam_sort_buffer_size=64M
myisam_max_sort_file_size= 10G
myisam_repair_threads= 1
log_bin_trust_function_creators=1
event_scheduler=1
max_binlog_size=100M
binlog_format=row
log-bin=/home/mysql56/mysqllog/binlog/binlog.bin
slow_query_log=on
slow_query_log_file=/home/mysql56/mysqllog/logfile/slow-query.log
long_query_time=1
log_queries_not_using_indexes=on
log-error=/home/mysql56/mysqllog/logfile/mysql-err.log
binlog_cache_size=4MB
skip-host-cache
skip-name-resolve
expire_logs_days=15
skip-slave-start
relay-log-index=/home/mysql56/mysqllog/relaylog/slave-relay-bin.index
relay-log=/home/mysql56/mysqllog/relaylog/relaylog-binlog
replicate-ignore-db=information_schema,performance_schema,sys
slave_net_timeout=60
##language=/home/mysql56/share/english
##early-plugin-load=""
explicit_defaults_for_timestamp=true
log_slave_updates=1
gtid_mode=ON
enforce_gtid_consistency = ON
lower_case_table_names=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
##read-only=on ##从库需要
##secure_file_priv参数
secure_file_priv=/opt/mysql56/secure_file
[client]
port = 3306
socket=/home/mysql56/mysql.sock
default-character-set = utf8mb4
[mysqldump]
quick
max_allowed_packet = 32M
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
-- The End --
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-02-22 rman copy相关
2019-02-22 修改副本集端口(带仲裁节点)