mysql安装转自 http://www.cnblogs.com/azhw/p/5143232.html
親測驗證適用于5.7.10
1. 獲得二進制文件?
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz
2. 加壓到 /usr/local/mysql 目錄(或者解壓到當前目錄然后做軟鏈接到/usr/local/mysql)
mkdir /usr/local/mysql
tar -xvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.10-linux-glibc2.5-x86_64/* /usr/local/mysql/
3. 創建 /usr/local/mysql/data 目錄
mkdir /usr/local/mysql/data
4. 創建mysql用戶和修改軟件的權限
groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin (創建mysql用戶并設置不可登錄)
chown -R mysql.mysql /usr/local/mysql/
5. 初始化數據(切換當前目錄到/usr/local/mysql)
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2016-01-20 02:47:35 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-01-20 02:47:45 [WARNING] The bootstrap log isn't empty:
2016-01-20 02:47:45 [WARNING] 2016-01-19T18:47:36.732678Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2016-01-19T18:47:36.750527Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-01-19T18:47:36.750560Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
6. 復制配置文件到 /etc/my.cnf
cp -a ./support-files/my-default.cnf /etc/my.cnf (如果問是否替換選擇Y)
7. mysql的服務腳本放到系統服務中
cp -a ./support-files/mysql.server /etc/init.d/mysqld
service mysqld start?
cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2016-01-20 03:22:59?
Tl:iRfEhRlQ6
bin/mysql -uroot -p? ? (回車后輸入Tl:iRfEhRlQ6)
[root@c12 mysql57]# ./bin/mysqladmin -u root -p password (注意這個坑,這個就是password單詞)
Enter password:?
New password:?
Confirm new password:?
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.8-rc |
+-----------+
1 row in set (0.00 sec)
?
----------------------------------------新增隨筆-----------------------------------------------
依據官方說明5.6以后版本,第一次啟動時會在root目錄下生產一個隨機密碼,文件名.mysql_secret。
------------------mysqld: command not found----------------------
[root@Llover www]# mysqld -uroot
-bash: mysqld: command not found
?
原因:這是由于系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當于建立一個鏈接文件。
首先得知道mysql命令完整路徑,比如我的Linux的mysql的路徑是:/usr/local/mysql/bin/mysql,我們則可以這樣執行命令:
?/usr/local/mysql/bin/mysql ?-uroot這樣執行命令,或者創建一個軟鏈接
?ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
?
--------------------設置外網訪問----------------------
update user set host = '%' where user ='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%’ IDENTIFIED BY '84803368' WITH GRANT OPTION;
flush privileges;
?
?
------5.7.18已經沒有my.cnf,可以參考下面的cnf
[client]
port=3306
socket=/tmp/mysql.sock_001
[mysqld]
# mysqld基本設置
log-error = /dev/app/mysql/mysql-error.log
pid-file = /dev/app/mysql/mysql.pid
basedir = /dev/app/mysql/mysql-5.7.18-linux-glibc2.5-x86_64
datadir = /dev/app/mysql/data
port=3306 #默認就是3306
log-error = mysql-error.log
socket = /tmp/mysql.sock_001
pid-file = mysql.pid
default-time-zone = '+8:00'
# mysqld二進制日志相關
log-bin=mysql-bin #打開二進制日志功能
server_id=1000001 #打開二進制必須指定serverID
binlog_format = mixed
binlog_cache_size = 4M
max_binlog_cache_size = 8M
max_binlog_size = 1G
# mysqld性能相關
max_connections = 3000 #指定mysql服務所允許的最大連接進程數
max_allowed_packet = 4M #設定在網絡傳輸中一次可以傳輸消息的最大值,系統默認為1M
sort_buffer_size = 16M #排序緩沖區用來處理類似orderby以及groupby隊列所引起的排序,系統默認大小為2M
join_buffer_size = 8M #聯合查詢操作所使用的緩沖區大小
thread_cache_size = 64 #設置threadcache池中可以緩存連接線程的最大數量,默認為0,該值表示可以重新利用保存在緩存中線程的數量
query_cache_size = 64M #指定mysql查詢緩沖區的大小,用來緩沖select的結果,并在下一次同樣查詢的時候不再執行查詢而直接返回結果
query_cache_limit = 4M #只有小于該值的結果才被緩沖,放置一個極大的結果將其他所有的查詢結果都覆蓋
tmp_table_size = 256M #內存臨時表的大小,如果超過該值,會將臨時表寫入磁盤
default_storage_engine = InnoDB #創建表時默認使用的存儲引擎
key_buffer_size = 384M #指定索引緩沖區的大小,內存為4G時刻設置為256M或384M
lower_case_table_names=1
?
轉載于:https://www.cnblogs.com/yuanhuining/p/6959298.html
總結
以上是生活随笔為你收集整理的mysql安装转自 http://www.cnblogs.com/azhw/p/5143232.html的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt 获取发送信号的对象
- 下一篇: Qt之设置QWidget背景色