安裝路徑:/application/mysql-5.5.56
1.前期準備
mysql依賴
1
|
2
|
libaio yum install -y libaio |
創建用戶mysql,以該用戶的身份執行mysql
1
|
|
useradd -s /bin/ false -M mysql |
下載mysql二進制包并解壓
1
|
2
3
|
cd /tools wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz tar -zxf mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz -C /application/ |
切換到/application目錄,將mysql文件夾名改短,給mysql目錄做一個軟鏈接
1
|
2
3
|
cd /application/ mv mysql-5.5.56-linux-glibc2.5-x86_64/ mysql-5.5.56 ln -s mysql-5.5.56/ mysql |
遞歸設置mysql目錄的所屬組和所屬用戶
1
|
|
chown -R mysql:mysql mysql-5.5.56/ |
2.mysql目錄內操作
1
|
|
cd mysql |
初始化數據庫
會在mysql目錄內生成一個data目錄,存放數據庫的目錄
1
|
|
./scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql |
更改所屬用戶和組
1
|
2
|
chown -R root . chown -R mysql data |
除了mysql目錄下的data目錄所屬用戶不變,其他所有文件的所屬用戶改為root
拷貝配置文件
1
|
|
cp support-files/my-medium.cnf /etc/my.cnf |
將mysql的配置文件拷貝為/etc/目錄下的my.cnf
修改配置文件
1
|
|
sed -i 28i 'log-error=/application/mysql/data/mysqld.error' /etc/my.cnf |
在配置文件插入了一行,進行配置錯誤日志
1
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/etc/my.cnf Content: # Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) # # MySQL programs look for option files in a set of # locations which depend on the deployment platform. # You can copy this option file to one of those # locations. For information about these locations, see: # http://dev.mysql.com/doc/mysql/en/ option -files.html # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program # with the "--help" option . # The following options will be passed to all MySQL clients [client] # password = your_password port = 3306 socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 log-error=/application/mysql/data/mysqld.error socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M # Don 't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin # binary logging format - mixed recommended binlog_format=mixed # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1 # Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command (fully described in our manual) - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, # MASTER_USER=, MASTER_PASSWORD= ; # # where you replace , , by quoted strings and # by the master' s port number (3306 by default ). # # Example: # # CHANGE MASTER TO MASTER_HOST= '125.564.12.1' , MASTER_PORT=3306, # MASTER_USER= 'joe' , MASTER_PASSWORD= 'secret' ; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time (even unsuccessfully, for example # if you mistyped the password in master- password and the slave fails to # connect ), the slave will create a master.info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master.info file, unless you shutdown # the slave server, delete master.info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # (commented) and instead use CHANGE MASTER TO (see above) # # required unique id between 2 and 2^32 - 1 # ( and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = # # The username the slave will use for authentication when connecting # to the master - required #master- user = # # The password the slave will authenticate with when connecting to # the master - required #master- password = # # The port the master is listening on . # optional - defaults to 3306 #master-port = # # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /usr/ local /mysql/data #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /usr/ local /mysql/data # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no -auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout |
拷貝啟動程序
1
|
|
cp support-files/mysql.server /etc/init.d/mysql |
將mysql的啟動程序拷貝到/etc/init.d/目錄下,以便啟動程序
編輯啟動文件,配置啟動目錄
方法一:
思路是給配置文件提供的變量進行賦值。較麻煩。
1
|
2
|
sed -i ':a;N;$!ba;s/basedir=\ndatadir=/basedir=\/application\/mysql\ndatadir=\/application\/mysql\/data/g' /etc/init.d/mysql sed -i ':a;N;$!ba;s/mysqld_pid_file_path=\n/mysqld_pid_file_path=\/application\/mysql\/data\/mysqld.pid\n/g' /etc/init.d/mysql |
等價于將45、46兩行
1
|
2
3
|
basedir= datadir= mysqld_pid_file_path= |
替換成
1
|
2
3
|
basedir=/application/mysql datadir=/application/mysql/data mysqld_pid_file_path=/application/mysql/data/mysql.pid |
方法二(推薦):
思路是將腳本的默認地址(/usr/local/mysql)直接替換成自定義路徑(/application/mysql),便不用給變量賦值
1
|
|
sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysql |
到這里mysql安裝完成可以正常啟動
3.后期結尾
命令創建軟鏈接
將mysql命令創建軟鏈接到環境變量的目錄,使用戶可以在變量找到相應的命令
1
|
|
ln -s /application/mysql/bin/* /usr/ local /sbin |
設置與修改密碼
第一次設置密碼:
1
|
|
mysqladmin -u '' password '' |
例子:
1
|
|
mysqladmin -u 'root' password 'PassWord' |
往后修改密碼:
1
|
|
mysqladmin -u '' -p '' password '' |
例子:
1
|
|
mysqladmin -u 'root' -p 'PassWord' password 'NewPassWord' |
登錄mysql
1
|
2
3
4
5
6
7
8
9
10
11
12
|
$ mysql -u 'root' -p 'PassWord' Welcome to the MySQL monitor. Commands end with ; or \g. ... mysql> #成功登陸到mysql控制臺 $ mysql -uroot -pPassWord Welcome to the MySQL monitor. Commands end with ; or \g. ... mysql> #成功登陸到mysql控制臺 $ mysql -u 'root' -p Enter password : #這里輸入用戶的密碼 Welcome to the MySQL monitor. Commands end with ; or \g. ... |
mysql> #成功登陸到mysql控制臺
1
|
2
3
4
|
$ mysql -uroot -p Enter password : #這里輸入用戶的密碼 Welcome to the MySQL monitor. Commands end with ; or \g. ... |
mysql> #成功登陸到mysql控制臺
鍵入quit或Ctrl + d退出mysql環境
1
|
2
3
4
5
6
|
mysql> quit Bye [root@www mysql]# or mysql> ^DBye [root@www mysql]# |
4.常用命令
進入mysql
1
|
2
3
4
|
mysql -u 'root' -p 'PassWord' mysql -uroot -pPassWord mysql -u 'root' -p mysql -uroot -p |
啟動mysql
1
|
|
service mysql start |
停止mysql
1
|
|
service mysql stop |
重啟mysql
1
|
|
service mysql restart |
以上所述是小編給大家介紹的Mysql 5.5.56版本(二進制包安裝)自定義安裝路徑步驟記錄,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.2cto.com/database/201707/654708.html