非root使用者安裝Mysql資料庫

來源:互聯網
上載者:User

標籤:普通使用者 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資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.