MySQL安裝總結
1、MySQL常見的三種安裝方式:
1.1、rpm包安裝
1.1.1、刪除舊包
# rpm -qa | grep -i mysql
# rpm -ev mysql-libs-* --nodeps
1.1.2、創建用戶
groupadd mysql && useradd -g mysql mysql -s /sbin/nologin
安裝rpm包:
# rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm
1.1.3、啓動、停止
# service mysqld start
# service mysqld stop
# service mysqld status
1.1.4、初始隨機密碼
# cat /var/log/mysqld.log | more
修改初始密碼及授權遠程訪問:
# mysql -uroot -p
mysql> set password='mysql';
mysql> grant all privileges on *.* to 'root'@'%' identified by 'mysql';
密碼複雜度屬性:
mysql> set global validate_password_policy=0;
1.2、二進制安裝
1.2.1、卸載舊版本
使用下面的命令檢查是否安裝有MySQL Server
rpm -qa | grep mysql
有的話通過下面的命令來卸載掉
rpm -e mysql //普通刪除模式
rpm -e --nodeps mysql
// 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,
則用該命令可以對其進行強力刪除
yum remove mysql-libs
1.2.2、安裝MySQL
1.安裝編譯代碼需要的包
yum -y install cmake gcc gcc-c++ autoconf automake zlib* libxml* \
yum -y install ncurses ncurses-devel libtool-ltdl-devel* make bison bison-devel libaio libstdc++.so.6 libncurses.so.5
2.爲mysql新建組和用戶
groupadd mysql && useradd -g mysql mysql -s /sbin/nologin && passwd mysql
mysql
3.設置用戶的系統資源限制
#vi /etc/security/limits.conf
mysql soft nproc 20470
mysql hard nproc 16384
mysql soft nofile 10240
mysql hard nofile 65536
4 安裝mysql
cd /usr/local
tar zxvf /{MySQL5.7_path}/mysql-{version}.tar.gz
mv mysql-5.7.17-linux-glibc2.12-x86_64 mysql-5.7.17
ln -s /usr/local/mysql-5.7.17 mysql
mkdir -p /data/mysql/data
chown -R mysql.mysql /data/mysql/data
chown -R mysql.mysql /usr/local/mysql
PATH=/usr/local/mysql/bin:$PATH
export PATH
vi /etc/my.cnf
內容見附件
cd /usr/local/mysql/
./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize
#cp support-files/mysql.server /etc/init.d/mysqld
chown -R mysql.mysql /data/mysql; chgrp -R mysql /data/mysql && chkconfig --add mysqld && chkconfig mysqld on
啓動mysql
/usr/local/mysql/bin/mysqld_safe &
#推薦
/usr/local/mysql/bin/mysqld_safe --datadir='/usr/local/mysql/data' &
進入mysql更改密碼
mysql -uroot -p'i&q4jNyJ_oy%'
mysql>alter user user() identified by 'mysql';
mysql>create user root@'%' ;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
my.cnf
[client]
port=3306
socket=/data/mysql/data/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
port=3306
socket=/data/mysql/data/mysql.sock
basedir = /usr/local/mysql/
datadir=/data/mysql/data
tmpdir=/data/mysql/data/
log-bin=mysql-bin
binlog_format=ROW
server_id=234
character-set-server=utf8
max_connections=500
query_cache_size=0
table_open_cache=256
tmp_table_size=64M
thread_cache_size=16
myisam_max_sort_file_size=32M
myisam_sort_buffer_size=32M
key_buffer_size=32M
read_buffer_size=256K
read_rnd_buffer_size=512K
sort_buffer_size=256K
join_buffer_size=8M
max_allowed_packet=64M
#loose-skip-innodb
innodb_file_per_table=1
#innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=8M
innodb_buffer_pool_size=2048M
innodb_log_file_size=256M
innodb_thread_concurrency=8
innodb_log_files_in_group=3
innodb_lock_wait_timeout=50
innodb_data_home_dir =/data/mysql/data
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_log_group_home_dir =/data/mysql/data
log_bin_trust_function_creators=1
#開啓慢查詢日誌
slow_query_log = 1
#慢查詢日誌文件保存地址
slow_query_log_file =/data/mysql/data/mysql_slow_query.log
#設置查詢超過10秒後,記錄到慢查詢日誌,默認爲10秒,支持微秒
long_query_time = 10
1.3、mysql編譯安裝
1.3.1、下載
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
1.3.2、創建用戶
groupadd mysql && useradd -g mysql mysql -s /sbin/nologin && passwd mysql
mysql
1.3.3、安裝依賴包
yum install gcc gcc-c++ -y
yum install -y ncurses-devel.x86_64
yum install -y cmake.x86_64
yum install -y libaio.x86_64
yum install -y bison.x86_64
yum install -y gcc-c++.x86_64
創建數據目錄
mysql軟件目錄: /usr/local/mysql
mysql數據目錄:/data/mysql/data
mysql日誌目錄:/data/mysql/data
1.3.4、解壓軟件
tar -xzvf mysql-5.7.17.tar.gz
1.3.5、CMake安裝mysql
在/usr/local下創建一個名爲boost的文件夾
mkdir -p /usr/local/boost
進入這個新創建的文件夾然後下載boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
解壓
tar -xvzf boost_1_59_0.tar.gz
安裝
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='Mysqlma' \
-DWITH_READLINE=ON \
-DWITH_BOOST=/usr/local/boost \
-DSYSCONFDIR=/data/mysql/data \
-DMYSQL_UNIX_ADDR=/data/mysql/data/mysql.sock
make & make install
在/etc/下創建my.cnf文件,加入如下參數,其他參數根據需要配置
[client]
port=3306
socket=/data/mysql/data/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
port=3306
socket=/data/mysql/data/mysql.sock
basedir = /usr/local/mysql/
datadir=/data/mysql/data
tmpdir=/data/mysql/data/
log-bin=mysql-bin
binlog_format=ROW
server_id=234
character-set-server=utf8
max_connections=500
query_cache_size=0
table_open_cache=256
tmp_table_size=64M
thread_cache_size=16
myisam_max_sort_file_size=32M
myisam_sort_buffer_size=32M
key_buffer_size=32M
read_buffer_size=256K
read_rnd_buffer_size=512K
sort_buffer_size=256K
join_buffer_size=8M
max_allowed_packet=64M
#loose-skip-innodb
innodb_file_per_table=1
#innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=8M
innodb_buffer_pool_size=2048M
innodb_log_file_size=256M
innodb_thread_concurrency=8
innodb_log_files_in_group=3
innodb_lock_wait_timeout=50
innodb_data_home_dir =/data/mysql/data
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_log_group_home_dir =/data/mysql/data
log_bin_trust_function_creators=1
#開啓慢查詢日誌
slow_query_log = 1
#慢查詢日誌文件保存地址
slow_query_log_file =/data/mysql/data/mysql_slow_query.log
#設置查詢超過10秒後,記錄到慢查詢日誌,默認爲10秒,支持微秒
long_query_time = 10
1.3.6、初始化數據庫
./mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql/data
1.3.7、啓動數據庫
mysqld_safe –defaults-file=/data/mysqldata/3306/my.cnf &