centos6 源碼安裝mysql5.6

一.系統初始化

setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/" /etc/sysconfig/selinux
service iptables stop
chkconfig iptables off

二. 安裝mysql

yum install -y autoconf automake cmake gcc-c++ libgcrypt libtool libxml2 ncurses-devel zlib perl-Data-Dumperpython-devel openssl openssl-devel bison-devel   #安裝工具包和依賴包
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/mysql-5.6.36.tar.gz  #下載mysql5.6源碼包
useradd  -s /sbin/nologin -M mysql    #創建mysql系統用戶
mkdir /apps/data -p #創建存放數據庫的文件夾
mkdir /apps/log
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/apps/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci 

make && make install

三.配置mysql

chown -R mysql:mysql /usr/local/mysql 
chown -R mysql:mysql /apps/data
chown -R mysql:mysql /apps/log
cd /usr/local/mysql/
cp support-files/mysql.server  /etc/init.d/mysqld

修改/etc/my.cnf

[mysqld]
user=mysql
port = 3306
basedir = /usr/local/mysql
datadir =/apps/data
log_bin=/apps/data/log/mysql-bin
log-error=/apps/data/log/error.log
pid-file=/usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock 
lower_case_table_names=1
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect = 'SET NAMES utf8'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8

具體生產配置參考:my.cnf

chkconfig mysqld on
#執行初始化配置腳本
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/apps/data --user=mysql
#service mysqld start

mysql命令加入環境變量

echo "export PATH=\$PATH:/usr/local/mysql/bin " >> /etc/profile
source /etc/profile

mysql 設置密碼

mysqladmin -uroot password '123456'

mysql安全配置向導
如下:

# mysql_secure_installation
Enter current password for root (enter for none):
    新安裝的mysql無root密碼,按Enter即可
Set root password? [Y/n] Y
    設置root密碼
Remove anonymous users? [Y/n] Y
    刪除匿名用戶
Disallow root login remotely? [Y/n] Y
    取消root遠程登錄
Remove test database and access to it? [Y/n] Y
    刪除test數據庫
Reload privilege tables now? [Y/n] Y
    刷新權限

或:
進入mysql客戶端

mysql> use mysql;
#刪除匿名用戶
mysql> delete from user where user="";
#刪除空密碼的root
mysql> delete from user where user='root' and password="";
#取消root遠程登錄
mysql> delete from user where user='root' and host="%";
#刪除test數據庫
mysql> drop database test;
#刷新權限
mysql> FLUSH PRIVILEGES;

重設密碼 mysqld_safe --skip-grant-tables & 進入數據庫設置密碼。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容