使用二進制包安裝mysql

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
my.cnf 參考內容

初始化

/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 &
start.sh
#!/bin/bash
/data/mysql/bin/mysqladmin -u admin -p  -S /data/mysql3306/mysql.sock shutdown
stop.sh

 

關於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須要從新鏈接一下

相關文章
相關標籤/搜索