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 --

posted @   slnngk  阅读(428)  评论(0编辑  收藏  举报
编辑推荐:
· 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 修改副本集端口(带仲裁节点)
点击右上角即可分享
微信分享提示