標籤:普通使用者 mysql
一、Root使用者操作
1、建立普通使用者
[[email protected] ~]# useradd ipdev[[email protected] ~]# echo "ipdev" |passwd --stdin ipdev > /dev/null
2、建立運行mysql服務的使用者
[[email protected] ~]# useradd mysql
3、驗證使用者是否建立成功
[[email protected] ~]# id ipdevuid=500(ipdev) gid=500(ipdev) 組=500(ipdev)[[email protected] ~]# id mysqluid=501(mysql) gid=501(mysql) 組=501(mysql)
4、賦予普通使用者ipdev執行sudo的許可權
[[email protected] ~]# echo "ipdev ALL=(ALL:ALL) ALL" > /etc/sudoers.d/ipdev[[email protected] ~]# chmod 400 /etc/sudoers.d/ipdev
5、首次初始化資料庫時的依賴包先安裝之
[[email protected] ~]# yum -y install libaio
二、Indev使用者操作 | 普通使用者
1、準備工作
[[email protected] ~]$ whoroot tty1 2014-12-04 23:24root pts/0 2014-12-04 23:25 (192.168.0.103)ipdev pts/1 2014-12-04 23:31 (192.168.0.103)[[email protected] ~]$ pwd/home/ipdev[[email protected] ~]$ lsmysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
2、解壓Mysql安裝包
[[email protected] ~]$ tar xf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz [[email protected] ~]$ ln -s mysql-5.6.12-linux-glibc2.5-x86_64 mysql[[email protected] ~]$ ll總用量 299028lrwxrwxrwx 1 ipdev ipdev 34 12月 4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64drwxrwxr-x 13 ipdev ipdev 4096 12月 4 23:35 mysql-5.6.12-linux-glibc2.5-x86_64-rw-rw-r-- 1 ipdev ipdev 306192671 12月 4 23:33 mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
3、建立資料存放區目錄
[[email protected] ~]$ mkdir data
4、賦予Mysql安裝程式目錄和資料存放目錄許可權
#重點標記:資料存放目錄data的許可權一定要控制好,否則後續初始化資料庫的時候就會報錯
[[email protected] ~]$ chown -R mysql datachown: 正在更改"data/" 的所有者: 不允許的操作[[email protected] ~]$ sudo chown -R mysql dataWe trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.[sudo] password for ipdev: [[email protected] ~]$ sudo chown -R mysql mysql[[email protected] ~]$ ll總用量 299032drwxrwxr-x 2 mysql mysql 4096 12月 4 23:35 datalrwxrwxrwx 1 mysql ipdev 34 12月 4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64drwxrwxr-x 13 mysql ipdev 4096 12月 4 23:35 mysql-5.6.12-linux-glibc2.5-x86_64-rw-rw-r-- 1 ipdev ipdev 306192671 12月 4 23:33 mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
5、初始化資料庫
[[email protected] ~]$ ./mysql/scripts/mysql_install_db --user=mysql --datadir=/home/ipdev/data/ --basedir=/home/ipdev/mysql/
在初始化資料庫的時候,我遇到兩個錯誤如下
***********************************遇到的錯誤***********************************************************Installing MySQL system tables...2014-12-04 23:37:26 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2014-12-04 23:37:26 1438 [Warning] Can‘t create test file /home/ipdev/data/localhost.lower-test錯誤12014-12-04 23:37:26 1438 [Warning] Can‘t create test file /home/ipdev/data/localhost.lower-test2014-12-04 23:37:26 1438 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)錯誤2*********************************************************************************************************
解決辦法
錯誤1的解決辦法:sudo chown -R mysql.mysql data而非sudo chown -R mysql.mysql data錯誤2的解決辦法# sudo vim /etc/security/limits.conf末尾行增加如下資訊* soft nofile 65535 * hard nofile 65535 普通使用者需要重新登入,才會生效,查看命令umilit -n
6、修改補充Mysql設定檔
$ vim ~/mysql/my.cnf [mysqld]添加如下行user = mysqlport = 3306server_id = 1socket = /tmp/mysql.sockbasedir = /home/ipdev/mysql/datadir = /home/ipdev/data/log-error = /home/ipdev/data/mysql-error.logpid-file = /home/ipdev/data/mysql.pidlog-bin = /home/ipdev/data/mysql-bin.logopen-files-limit = 10240skip_name_resolve=1innodb_file_per_table=1
7、啟動Mysql服務
注意:啟動的時候也很重要,否則也會報很多錯誤
[[email protected] ~]$ sudo sed -i ‘s#/usr/local#/home/ipdev#g‘ ~/mysql/bin/mysqld_safe[[email protected] ~]$ ~/mysql/bin/mysqld_safe --defaults-file=/home/ipdev/mysql/my.cnf &
8、配置Mysql環境變數
[[email protected] ~]$ echo "export PATH=\$PATH:/home/ipdev/mysql/bin/" >> ~/.bash_profile[[email protected] ~]$ source ~/.bash_profile
9、登陸測試
[[email protected] ~]$ mysql -uroot -p -e ‘show databases;‘Enter password: +--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test |+--------------------+
10、由於時間比較倉促,這裡就不在多修改服務啟動指令碼了
killall -9 mysqlpid | or | kill mysqlpid
需要注意幾個地方:
1、目錄許可權問題 (比如資料存放目錄,各種日誌目錄)
2、執行許可權問題 (如sudo)
3、啟動服務時建議指明設定檔的路徑
4、最大的一個問題就是初始化資料庫 預設./bin/mysqld_safe的Mysql路徑為/usr/local/mysql,但是普通使用者對/usr/local是沒有存取權限的,因此這個地方一定要替換成Mysql的目錄
本以為很簡單,但是做起來真的很麻煩
好了,今天就先到這裡!後續還會繼續補充 大家 晚安
本文出自 “鄭彥生” 部落格,請務必保留此出處http://467754239.blog.51cto.com/4878013/1586491
非root使用者安裝Mysql資料庫