Linux下通過二進制源碼安裝Mysql5.7(5.7安裝和命令與之前版本不同)

這裏我選擇官網下載源碼包編譯安裝
參照一:linux在配置的時候大家是如何去選擇用編譯安裝還是yum安裝
參照二:linux下mysql安裝

一、準備工作:

Mysql官網下載地址

二、踏坑總結:

2.1關於初始化:
mysql5.7和之前版本不同,很多資料上都是這個命令:../scripts/mysql_install_db –user=mysql,而mysql5.7的mysql_install_db命令是在bin目錄下 的並且建議 用 mysqld –initialize命令

5.7之後用過使用

bin/mysqld --initialize --user=mysql --basedir=/Ultrapower/test/mysql --datadir=/Ultrapower/test/mysql/data

2.2關於配置文件:
好多資料都有這樣一段

cp support-files/my-default.cnf /etc/my.cnf  

就是把mysql/support-files/my-default.cnf下的配置文件複製到/etc/my.cnf ,但是5.7之後是沒有my-default.cnf配置文件的,這個不影響。

正常安裝之後, /etc/my.cnf應該存在,可以不用管上面複製那一步。下面是我用的配置文件,可以參照使用。

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
general_log_file = /var/log/mysql/mysql.log
general_log = 1
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

#kip-external-locking
skip-name-resolve

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysql.pid
port=3306
character_set_server=utf8
init_connect='SET NAMES utf8'
log-error=/usr/local/mysql/data/mysqld.err

slow_query_log = 1
slow_query_log_file =/usr/local/mysql/data/slow-query.log
long_query_time = 1
log-queries-not-using-indexes
max_connections = 1024
back_log = 128
wait_timeout = 100
interactive_timeout = 200
key_buffer_size=256M
query_cache_size = 256M
query_cache_type=1
query_cache_limit=50M
max_connect_errors=20
sort_buffer_size = 2M
max_allowed_packet=16M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size = 2048M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3

server_id=1
log-bin=mysql-bin
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# jo

2.3關於啓動:用命令systemctl start mysql.service報錯

[csy@root@instance-m4tjyg0q ~]# systemctl start mysql.service  
Error getting authority: Error initializing authority: Error calling StartServiceByName 
for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24)
Could not watch jobs: Connection timed out
[csy@root@instance-m4tjyg0q ~]# 

正確啓動方式是

#/etc/init.d/mysql start   或者   serivce mysql start  或者  bin/mysqld_safe&  

2.4關於客戶端遠程連接出現權限問題:
host is not allowed to connect to this MySql server

因爲創建用戶的時候host 是 localhost所以其它外部ip無訪問,需要授權

GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;

%是任意ip

參照:Navicat連接不上Linux服務器上的MySQL

其它使用問題遇到再百度解決吧~

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