Mysql5.5源碼安裝
(因為雲盤買有數據盤,所有把數據掛載在opt 下面的目錄)
安裝MySQL
1.添加mysql用戶,創建mysql的數據目錄:
groupadd mysql
mkdir -pv /opt/data/mysql
useradd -r -g mysql -d /opt/data/mysql -s /sbin/nologin mysql
chown -R mysql.mysql /opt/data/mysql
2.安裝cmake及依賴:
yum install cmake gcc* ncurses-devel -y
3.下載MySQL安裝包:
cd /usr/local/src
wget https://cdn.mysql.com//archives/mysql-5.5/mysql-5.5.49.tar.gz
4.編譯安裝MySQL:
tar -xvf mysql-5.5.49.tar.gz
cd mysql-5.5.49
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/product/mysql5.5.49 -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/opt/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
5.拷貝mysql的配置文件:
cd /usr/local/mysql/support-files/
cp my-medium.cnf /opt/data/mysql/my.cnf
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
6.初始化MySQL:
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/opt/data/mysql/
7.修改MySQL配置文件my.cnf中數據目錄(【mysqld】處添加)
vim /opt/data/mysql/my.cnf
加入下面這句數據庫的路徑
datadir=/opt/data/mysql/
8.啟動MySQL:
[root@zabbix ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS!
9.把mysql加入系統服務項,並設置開機啟動
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
10.檢查mysql是否成功啟動
ps aux |grep mysqld
11.##進入mysql
/usr/local/mysql/bin/mysql
查看mysql版本
select version();
12.創建一個hz2data數據庫(分號不能漏)
use mysql
create database sdkdata;
13.創建一個mysql登錄用戶,用戶名為:root 密碼為@#$2017
grant all on sdkdata.* to 'david'@'localhost' identified by 'david6677';
grant all on sdkdata.* to 'root'@'localhost' identified by '@#$2017';
14.刷新權限
flush privileges;
15.允許遠navicat遠程連接
use mysql
顯示已有的數據庫
show databases;
允許任何IP遠程連接數據庫sdkdata。(只要設置允許mysql的遠程連接,其它新建庫,也會默認允許遠程連接了)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'aaaa' WITH GRANT OPTION;
flush privileges;
mysql忘記root 密碼
http://www.cnblogs.com/sbaicl/articles/3132010.html
##################################
mysql修改繁瑣登錄方式
默認的/usr/local/mysql/bin/mysql
1.vim ~/.bash_profile
2. 增加如下內容(在最后面加入如下)
export PATH=$PATH:/usr/local/mysql/bin
使其全系統生效
3 source ~/.bash_profile
這樣設置完成后即可mysql -uroot -p 快捷的mysql登錄
mysql5.6 二進制安裝
1 cd /usr/local/src
下載二進制包
2 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解壓包
3 tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
把mysql的數據 移動到/usr/local/mysql 目錄下
4 mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
5 cd /usr/local/mysql
創建mysql 用戶
6 useradd mysql
7創建mysql 數據存放路徑
mkdir -p /opt/data/
8 初始化數據庫
./scripts/mysql_install_db --user=mysql --datadir=/opt/data/mysql
9 移動系統默認配置文件到 /etc目錄下
cp support-files/my-default.cnf /etc/my.cnf
10移動mysql啟動文件mysql.server 到/etc/init.d目錄下
cp support-files/mysql.server /etc/init.d/mysqld
11 vim /etc/init.d/mysqld
配置mysql的運行目錄和數據存放目錄,如圖中綠色所示。
12
chkconfig --add mysqld
chkconfig mysqld on
13 啟動mysql
/etc/init.d/mysqld start
(kill all mysqld 殺死mysqld進程)
14 登錄mysql,設置允許遠程連接
創建一個數據庫
create database sdkdata
grant all on sdkdata.* to 'root'@'localhost' identified by '@#$2017';
15 允許任何ip遠程連接到sdkdata這個數據庫
grant all privileges on sdkdata.* to root@"%" identified by "@#$2017" ;
16刷新權限
flush privileges;
mysql5.7 二進制包安裝
1. 下載包
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
2. 解壓
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
3. 初始化
useradd -M -s /sbin/nologin mysql
mkdir -p /opt/data/mysql
chown mysql /opt/data/mysql
注意bin前面的 .為當前bin目錄,不能少
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/opt/data/mysql
注意,這一步最后一行會有一個提示
[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg
最后面的字符串 B*s1i(*,kXwg 為root密碼。
./bin/mysql_ssl_rsa_setup --datadir=/opt/data/mysql
4. 拷貝配置文件和啟動腳本
cp support-files/my-default.cnf /etc/my.cnf
5.提示是否覆蓋,輸入yes
6 vim /etc/my.cnf 編輯或者修改
basedir = /usr/local/mysql
datadir = /opt/data/mysql
port = 3306
socket = /tmp/mysql.sock
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld //編輯或者修改
basedir=/usr/local/mysql
datadir=/opt/data/mysql
5. 啟動服務
/etc/init.d/mysqld start
6. 設置root密碼
使用初始化密碼登錄
/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg' //進入后直接設置密碼
mysql>set password = password('mypass'); //一定要設置一下新密碼
退出來,再使用新的密碼登錄就可以了
還有一種情況,就是不知道初始化密碼
vi /etc/my.cnf
在[mysqld]下面增加一行
skip-grant-tables
重啟 /etc/init.d/mysqld restart
/usr/local/mysql/bin/mysql -uroot
use mysql;
update user set authentication_string=PASSWORD('Kubi201788@#$') where User='root';
flush privileges;
退出來后,更改my.cnf,去掉剛加的 skip-grant-tables
重啟 /etc/init.d/mysqld restart
此時就可以使用新的密碼了。