MySQL安裝總結

 

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 &

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章