您好,登錄后才能下訂單哦!
官網安裝文檔:
https://dev.mysql.com/doc/refman/5.6/en/binary-installation.html
基礎環境:
CentOS Linux release 7.1.1503 (Core)
一、添加mysql用戶
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql -s /bin/false mysql
二、解壓mysql,建立軟鏈接
[root@localhost local]# cd /usr/local/
[root@localhost local]# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /home/software/
軟件默認的啟動程序中,讀取的是/usr/local/中的地址,所以不管在哪里安裝,都在/usr/local中建個軟鏈接比較好。
[root@localhost local]# ln -s /home/software/mysql-5.6.37-linux-glibc2.12-x86_64 mysql
三、添加環境變量
這是臨時環境,如果多個窗口同時操作的話,需要都加上這個環境。
[root@localhost mysql]# export PATH=$PATH:/usr/local/mysql/bin
[root@localhost local]# cd mysql
[root@localhost mysql]# chown -R mysql:mysql .
這里全是root也可以的,看自己。
四、安裝mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...2017-09-21 09:30:16 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-09-21 09:30:16 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-09-21 09:30:16 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3271 ... 2017-09-21 09:30:16 3271 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-09-21 09:30:16 3271 [Note] InnoDB: The InnoDB memory heap is disabled 2017-09-21 09:30:16 3271 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-09-21 09:30:16 3271 [Note] InnoDB: Memory barrier is not used 2017-09-21 09:30:16 3271 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-09-21 09:30:16 3271 [Note] InnoDB: Using Linux native AIO 2017-09-21 09:30:16 3271 [Note] InnoDB: Using CPU crc32 instructions 2017-09-21 09:30:16 3271 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-09-21 09:30:16 3271 [Note] InnoDB: Completed initialization of buffer pool 2017-09-21 09:30:17 3271 [Note] InnoDB: Highest supported file format is Barracuda. 2017-09-21 09:30:17 3271 [Note] InnoDB: 128 rollback segment(s) are active. 2017-09-21 09:30:17 3271 [Note] InnoDB: Waiting for purge to start 2017-09-21 09:30:17 3271 [Note] InnoDB: 5.6.37 started; log sequence number 1625987 2017-09-21 09:30:17 3271 [Note] Binlog end 2017-09-21 09:30:17 3271 [Note] InnoDB: FTS optimize thread exiting. 2017-09-21 09:30:17 3271 [Note] InnoDB: Starting shutdown... 2017-09-21 09:30:18 3271 [Note] InnoDB: Shutdown completed; log sequence number 1625997 OK Filling help tables...2017-09-21 09:30:19 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-09-21 09:30:19 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-09-21 09:30:19 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3294 ... 2017-09-21 09:30:19 3294 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-09-21 09:30:19 3294 [Note] InnoDB: The InnoDB memory heap is disabled 2017-09-21 09:30:19 3294 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-09-21 09:30:19 3294 [Note] InnoDB: Memory barrier is not used 2017-09-21 09:30:19 3294 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-09-21 09:30:19 3294 [Note] InnoDB: Using Linux native AIO 2017-09-21 09:30:19 3294 [Note] InnoDB: Using CPU crc32 instructions 2017-09-21 09:30:19 3294 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-09-21 09:30:19 3294 [Note] InnoDB: Completed initialization of buffer pool 2017-09-21 09:30:19 3294 [Note] InnoDB: Highest supported file format is Barracuda. 2017-09-21 09:30:19 3294 [Note] InnoDB: 128 rollback segment(s) are active. 2017-09-21 09:30:19 3294 [Note] InnoDB: Waiting for purge to start 2017-09-21 09:30:19 3294 [Note] InnoDB: 5.6.37 started; log sequence number 1625997 2017-09-21 09:30:19 3294 [Note] Binlog end 2017-09-21 09:30:19 3294 [Note] InnoDB: FTS optimize thread exiting. 2017-09-21 09:30:19 3294 [Note] InnoDB: Starting shutdown... 2017-09-21 09:30:21 3294 [Note] InnoDB: Shutdown completed; log sequence number 1626007 OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: ./bin/mysqladmin -u root password 'new-password' ./bin/mysqladmin -u root -h qkettle password 'new-password' Alternatively you can run: ./bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd . ; ./bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/ The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com WARNING: Found existing config file ./my.cnf on the system. Because this file might be in use, it was not replaced, but was used in bootstrap (unless you used --defaults-file) and when you later start the server. The new default config file was created as ./my-new.cnf, please compare it with your file and take the changes you need. WARNING: Default config file /etc/my.cnf exists on the system This file will be read by default by the MySQL server If you do not want to use this, either remove it, or use the --defaults-file argument to mysqld_safe when starting the server |
這里更改了一下用戶名qkettle(可忽略)。
注意:要將data變成mysql用戶
[root@qkettle mysql]# chown -R root .
[root@qkettle mysql]# chown -R mysql data
五、復制啟動程序:
[root@qkettle mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
在這里,如果/usr/local沒有mysql軟鏈接的話,會報錯,說找不到服務的。
六、啟動MySQL服務,這里出來個錯誤:(沒出錯就直接查看下是否有MySQL進程,繼續往下操作就好)
[root@qkettle mysql]# /etc/init.d/mysql.server start
Starting MySQL.170921 10:03:14 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/qkettle.pid).
解決:
[root@qkettle mysql]# vim /etc/my.cnf
[mysqld_safe]
log-error=/var/log/mysql/mariadb.log
pid-file=/var/run/mysql/mariadb.pid
再啟動:成功
[root@qkettle mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/var/log/mysql/mariadb.log'.
. SUCCESS!
查看進程
[root@qkettle mysql]# ps -ef |grep mysql
root 4998 1 0 10:05 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/qkettle.pid
mysql 5159 4998 0 10:05 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql/mariadb.log --pid-file=/var/lib/mysql/qkettle.pid --socket=/var/lib/mysql/mysql.sock
七、建立軟鏈接,啟動mysql。
[root@qkettle mysql]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
這里出錯:
[root@qkettle bin]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決方法:
先停止服務,然后修改一個地方。
[root@qkettle bin]# /etc/init.d/mysql.server stop
Shutting down MySQL.. SUCCESS!
[root@qkettle mysql]# vim /etc/my.cnf
socket=/tmp/mysql.sock
八、再次啟動服務、可以登錄了
[root@qkettle bin]# /etc/init.d/mysql.server start
初始登錄
mysql -u root
修改root用戶密碼
mysql>use mysql;
mysql> update user set password=password("123456") where user='root';
mysql> flush privileges;
退出重新用密碼登錄一下
mysql> exit;
查看數據庫的字符集情況
mysql> show variables like 'char%';
修改數據庫字符集,其他的格式相同。
mysql> set character_set_database=utf8;
重啟后,字符集并不好用。
需要修改配置文件/etc/my.cnf
在[mysqld]下添加一段話,不能寫錯了,否則會啟動不了
character-set-server=utf8
因為我這里只有這么一個mysqld段落,所以沒有再添加別的。
如果要是還有別的需要添加字符集的段落,也需要添加上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。