linux安裝mysql與配置

目錄

安裝與部署

創建數據庫和用戶

Mysql配置


安裝與部署

操作系統:CentOS 6.7

數據庫:mysql-5.7.14

查看系統是否安裝了mysql

rpm -qa|grep mysql

有則卸載:

rpm -e mysql-community-server-5.7.14-1.el6.x86_64 --nodeps

rpm -e mysql-community-client-5.7.14-1.el6.x86_64 --nodeps

rpm -e mysql-community-common-5.7.14-1.el6.x86_64 --nodeps

rpm -e mysql-community-libs-5.7.14-1.el6.x86_64 --nodeps

卸載完後按順序安裝以下包:

rpm -ivh  mysql-community-common-5.7.14-1.el6.x86_64.rpm 

rpm -ivh  mysql-community-libs-5.7.14-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.14-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.14-1.el6.x86_64.rpm

安裝完畢後,使用以下命令檢查mysqld文件是否存在

ls /etc/init.d | grep -i mysqld

  

查看該文件是否具有執行權限

 

如果沒有執行權限,則使用以下命令:

chmod +x /etc/init.d/mysqld
設置mysql服務開機啓動
 使用以下命令查看mysqld的服務狀態:
chkconfig --list mysqld

  

 使用以下命令設置mysqld服務隨機啓動:

chkconfig mysqld on

  

啓動mysql服務

service mysqld start  

日誌文件:/var/log/mysqld.log

如果啓動服務報錯,則以安全模式啓動mysql服務

mysqld_safe --user=mysql &

查看root用戶的臨時密碼,使用以下命令:

grep 'temporary password' /var/log/mysqld.log

登錄mysql: mysql -uroot -p'初始密碼'  
進入後修改臨時密碼,爲root用戶設置一個可靠的密碼,mysql5.7之後加了弱密碼限制:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc2019_root';

如果root密碼忘記可以按如下方案進行修改:

mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root mysql
update mysql.user set authentication_string=password('Abc2019_root') where user='root' and Host = 'localhost';
FLUSH PRIVILEGES;

開啓遠程服務器訪問mysql,需要將mysql的端口在防火牆中開一個通行證。

編輯文件

/etc/sysconfig/iptables

在文件中添加mysql的端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

保存文件後,重啓防火牆讓新的規則生效

service iptables restart

創建數據庫和用戶

以root用戶登錄進來,創建數據mydb

create database mydb;

爲數據庫mysql添加用戶

grant all on mydb.* to username@'localhost'  identified by 'Mydb_2019';
grant all on mydb.* to username@'%'  identified by 'Mydb_2019';
flush privileges; 

上序命令表示:創建用戶username,密碼爲Mydb_2019,訪問數據庫爲mydb,擁有所有權限,@'localhost'表示username賬號只通過localhost服務器才能訪問,@‘%’表示username賬號可以通過所有服務器訪問

Mysql配置

在Linux系統中配置文件一般在/etc/my.cnf或者/etc/mysql/my.cnf

常用配置介紹

max_connections 最大連接數,設置這個的作用就像一個急剎車,以保證服務器不會因應用程序激增的連接不堪重負
thread_cache_size 服務器線程緩存(Thread_Cache)最大連接線程數
table_cache_size 表緩衝和線程緩存類似,存儲對象爲表
default-storage-engine 設置MySQL的默認存儲引擎
query_cache_size 主要用來緩存MySQL中的ResultSet
sort_buffer_size MySql執行排序使用的緩衝大小
innodb_buffer_pool_size InnoDB緩衝池大小,比其他任何東西更需要內存,不僅僅是緩衝索引,還會緩衝行的數據,自適應哈希索引,插入緩衝,鎖,以及其他內部數據結構。InnoDB還使用緩衝池來幫助延遲寫入,這樣就能合併多個寫入操作然後一起順序寫回。所以必須確保緩衝池分配足夠的內存。
innodb_log_buffer_size 日誌緩衝區大小
innodb_log_file_size 日誌文件大小
innodb_file_per_table 讓InnoDB爲每張表使用一個文件
innodb_flush_method 配置InnoDB如何跟文件系統互相作用

參考:《高性能MySql》

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