Mysql數據庫採用源碼安裝mysql
[root@server ~]# wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17.tar.gz [root@server ~]# tar -zxf mysql-5.7.17.tar.gz [root@server ~]# cd mysql-5.7.17 [root@server mysql-5.7.17]# yum install cmake ncurses-devel -y [root@server mysql-5.7.17]# cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/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 \ #設置字符校驗集 -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/boost #指定Boost擴展源碼路徑
---------------------------------------------------------------sql
CMake Warning:數據庫
Manually-specified variables were not used by the project:vim
WITH_MEMORY_STORAGE_ENGINEdom
WITH_READLINEsocket
-- Build files have been written to: /root/mysql-5.7.17ide
---------------------------------------------------------------ui
出現上面的結果表示預編譯成功!server
[root@server mysql-5.7.17]# make -j grep 'processor' /proc/cpuinfo | wc -l [root@server mysql-5.7.17]# make -j grep 'processor' /proc/cpuinfo | wc -l install
檢查系統是否已經有mysql用戶,若是沒有則建立
ip
[root@server mysql-5.7.17]# cat /etc/passwd | grep mysql [root@server mysql-5.7.17]# cat /etc/group | grep mysql
建立mysql用戶(可是不能使用mysql帳號登錄系統)
[root@server mysql-5.7.17]# groupadd mysql [root@server mysql-5.7.17]# useradd -g mysql -s /sbin/nologin mysql
修改權限
[root@server mysql-5.7.17]# chown -R mysql:mysql /usr/local/mysql
[root@server mysql-5.7.17]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf [root@server mysql-5.7.17]# vim /etc/my.cnf ################### [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock user=mysql #innodb_force_recovery=6 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin=mysql-bin server-id = 1 auto_increment_offset=1 auto_increment_increment=2 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/usr/local/mysql/mysqld.log pid-file=/usr/local/mysql/mysqld.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
[root@server mysql-5.7.17]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@server mysql-5.7.17]# vim /etc/init.d/mysqld #####添加安裝目錄及數據目錄 basedir=/usr/local/mysql datadir=/usr/local/mysql/data
[root@server mysql-5.7.17]# chkconfig --add mysqld [root@server mysql-5.7.17]# chkconfig --level 35 mysqld on
進入/etc/profile設置環境變量
[root@server mysql-5.7.17]# vim /etc/profile export PATH=/usr/local/mysql/bin:$PATH #在末尾添加 [root@server mysql-5.7.17]# source /etc/profile
進入安裝路徑,執行初始化配置腳本,建立系統自帶的數據庫和表
#mysql5.7以前版本初始化配置表命令:
#script/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
#mysql5.7已經放棄使用了,並且也沒有script目錄,能夠使用下面這個
#[root@server mysql-5.7.17]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/
生成的初始密碼位於:
方法一:
[root@server mysql-5.7.17]# grep 'temporary password' /var/log/mysqld.log 2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated for root@localhost: MtPqF0/oN5zo
即初始密碼爲 MtPqF0/oN5zo (密碼是隨機產生的,每臺機器產生的都不同哦)
方法二:
[root@server mysql-5.7.17]# cat /root/.mysql_secret # The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m
這裏的aJqZsA2m就是生成的root隨機密碼啦
接下來,啓動數據庫,重設root密碼
[root@server mysql-5.7.17]# /etc/init.d/mysqld start
[root@server mysql-5.7.17]# mysql -uroot -p Enter password: # 輸入剛剛的隨機密碼連接數據庫 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';