Mysql官網二進制包下載地址mysql
https://dev.mysql.com/downloads/mysql/linux
選擇對應版本下載sql
根據操做系統選擇bash
會有一步讓註冊的 點擊「No thanks, just start my download.」 便可直接下載socket
經常使用目錄介紹ide
#筆者本身的習慣
/data/ /data/mysql 安裝目錄 /data/mysql33306 數據目錄 /data/mysql3306/mysql.sock /data/mysql/ini/my.cnf /data/mysql3306/error.log /data/mysql3306/mysql3306.pid
安裝所需組件spa
yum install libaio
解壓並建立數據目錄操作系統
mkdir -p /data/mysql mkdir -p /data/mysql3306/ tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.16-linux-glibc2.5-x86_64 /data/mysql
添加mysql環境變量code
##注意 將本身安裝的mysql的環境變量添加在前邊,不然直接使用mysql的相關命令的時候若是用的是系統自帶的有時候會報錯 echo 'export PATH=/data/mysql/bin:$PATH' >>/etc/profile source /etc/profile which mysql 查看時候生效 #/data/mysql/bin/mysql
添加mysql用戶orm
groupadd mysql useradd -r -g mysql -s /bin/false mysql
添加目錄權限
chown mysql:mysql /data/mysql3306 -R
chown mysql:mysql /data/mysql -R
配置myql文件
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-server=uft8mb4 basedir = /data/mysql datadir = /data/mysql3306/ port = 3306 socket = /data/mysql3306/mysql.sock pid-file = /data/mysql3306/mysql3306.pid log-error = /data/mysql3306/error.log server-id=1 slow-query-log = 1 long_query_time = 0.2 slow-query-log-file = /data/mysql3306/slow-queries.log max_connections = 800 max_connect_errors = 100000 table_open_cache = 256 query_cache_size = 2M character_set_server=utf8 init_connect='SET NAMES utf8' innodb_file_per_table=1 innodb_buffer_pool_size = 2048M innodb_data_file_path = ibdata1:1024M:autoextend innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size = 16M innodb_log_file_size = 256M innodb_log_files_in_group = 2 innodb_max_dirty_pages_pct = 50 log-bin = mysql-bin sync_binlog=1 binlog-format=row expire_logs_days = 10 interactive_timeout = 1800 wait_timeout = 1800 log_timestamps = system
初始化
/data/mysql/bin/mysqld --defaults-file=/data/mysql/ini/my.cnf --initialize-insecure --explicit_defaults_for_timestamp --basedir=/data/mysql --datadir=/data/mysql3306/ --user=mysql
# --initialize-insecure 設置root 空密碼
啓動服務
/data/mysql/bin/mysqld_safe --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
ps -ef|grep mysql 檢查進程是否啓動
登錄mysql
/data/mysql/bin/mysql -uroot -p --socket = /data/mysql3306/mysql.sock
安裝完畢後的操做
設置root密碼(若是使用root的話,應該刪除root,建立一個新的特權用戶) mysqladmin -u root password 123 --socket=/data/mysql3306/mysql.sock 建立特權用戶admin 刪除root grant all privileges on *.* to 'admin'@'%' identified by '123' with grant option; flush privileges; drop user 'root'@'localhost'; 查看全部用戶 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 關閉mysql的方法 /data/mysql/bin/mysqladmin -u root –p’123’ -S /data/mysql3306/mysql.sock shutdown /data/mysql/bin/mysqladmin -u admin -p -S /data/mysql3306/mysql.sock shutdown (若是root用戶已經被刪除的話) 重設密碼 update mysql.user set authentication_string=password('YfD18$d079f!#DA') where user='root' and Host = 'localhost'; flush privileges; alias mysql='mysql --socket=/data/mysql3306/mysql.sock -uadmin -p123'
#!/bin/bash
/data/mysql/bin/mysqld_safe --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
#!/bin/bash
/data/mysql/bin/mysqladmin -u admin -p -S /data/mysql3306/mysql.sock shutdown
關於my.cnf裏安裝完畢後須要從新加一句
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
在線修改方式
#查看 SELECT @@sql_mode; #修改 set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';
在線修改完畢後 開發的navicat須要從新鏈接一下