设为首页 收藏本站
查看: 550|回复: 0

[经验分享] 非root用户安装Mysql数据库

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-5 09:48:38 | 显示全部楼层 |阅读模式
一、Root用户操作

1、创建普通用户
1
2
[iyunv@localhost ~]# useradd ipdev
[iyunv@localhost ~]# echo "ipdev" |passwd --stdin ipdev > /dev/null



2、创建运行mysql服务的用户
1
[iyunv@localhost ~]# useradd mysql



3、验证用户是否创建成功
1
2
3
4
[iyunv@localhost ~]# id ipdev
uid=500(ipdev) gid=500(ipdev) 组=500(ipdev)
[iyunv@localhost ~]# id mysql
uid=501(mysql) gid=501(mysql) 组=501(mysql)



4、赋予普通用户ipdev执行sudo的权限
1
2
[iyunv@localhost ~]# echo "ipdev ALL=(ALL:ALL) ALL" > /etc/sudoers.d/ipdev
[iyunv@localhost ~]# chmod 400 /etc/sudoers.d/ipdev



5、首次初始化数据库时的依赖包先安装之
1
[iyunv@localhost ~]# yum -y install libaio



二、Indev用户操作 | 普通用户

1、准备工作

1
2
3
4
5
6
7
8
[ipdev@localhost ~]$ who
root     tty1         2014-12-04 23:24
root     pts/0        2014-12-04 23:25 (192.168.0.103)
ipdev    pts/1        2014-12-04 23:31 (192.168.0.103)
[ipdev@localhost ~]$ pwd
/home/ipdev
[ipdev@localhost ~]$ ls
mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz



2、解压Mysql安装包
1
2
3
4
5
6
7
[ipdev@localhost ~]$ tar xf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
[ipdev@localhost ~]$ ln -s mysql-5.6.12-linux-glibc2.5-x86_64 mysql
[ipdev@localhost ~]$ ll
总用量 299028
lrwxrwxrwx  1 ipdev ipdev        34 12月  4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64
drwxrwxr-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、创建数据存储目录
1
[ipdev@localhost ~]$ mkdir data



4、赋予Mysql安装程序目录和数据存放目录权限

#重点标记:数据存放目录data的权限一定要控制好,否则后续初始化数据库的时候就会报错
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ipdev@localhost ~]$ chown -R mysql data
chown: 正在更改"data/" 的所有者: 不允许的操作
[ipdev@localhost ~]$ sudo chown -R mysql data     

We trust you have received the usual lecture from the local System
Administrator. 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:
[ipdev@localhost ~]$ sudo chown -R mysql mysql   
[ipdev@localhost ~]$ ll
总用量 299032
drwxrwxr-x  2 mysql mysql      4096 12月  4 23:35 data
lrwxrwxrwx  1 mysql ipdev        34 12月  4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64
drwxrwxr-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、初始化数据库

1
[ipdev@localhost ~]$ ./mysql/scripts/mysql_install_db --user=mysql --datadir=/home/ipdev/data/ --basedir=/home/ipdev/mysql/



在初始化数据库的时候,我遇到两个错误如下
1
2
3
4
5
6
***********************************遇到的错误***********************************************************
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 错误1
2014-12-04 23:37:26 1438 [Warning] Can't create test file /home/ipdev/data/localhost.lower-test
2014-12-04 23:37:26 1438 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)   错误2
*********************************************************************************************************



解决办法
1
2
3
4
5
6
7
8
9
10
11
错误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配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ vim ~/mysql/my.cnf
[mysqld]
添加如下行
user = mysql
port = 3306
server_id = 1
socket = /tmp/mysql.sock
basedir = /home/ipdev/mysql/
datadir = /home/ipdev/data/
log-error = /home/ipdev/data/mysql-error.log
pid-file = /home/ipdev/data/mysql.pid
log-bin = /home/ipdev/data/mysql-bin.log
open-files-limit = 10240
skip_name_resolve=1
innodb_file_per_table=1



7、启动Mysql服务

注意:启动的时候也很重要,否则也会报很多错误

1
2
[ipdev@localhost ~]$ sudo sed -i 's#/usr/local#/home/ipdev#g' ~/mysql/bin/mysqld_safe
[ipdev@localhost ~]$ ~/mysql/bin/mysqld_safe --defaults-file=/home/ipdev/mysql/my.cnf &



8、配置Mysql环境变量

1
2
[ipdev@localhost ~]$ echo "export PATH=\$PATH:/home/ipdev/mysql/bin/" >> ~/.bash_profile
[ipdev@localhost ~]$ source ~/.bash_profile



9、登陆测试

1
2
3
4
5
6
7
8
9
10
[ipdev@localhost ~]$ mysql -uroot -p -e 'show databases;'
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+



10、由于时间比较仓促,这里就不在多修改服务启动脚本了
1
killall -9 mysqlpid | or | kill mysqlpid



需要注意几个地方:

1、目录权限问题 (比如数据存放目录,各种日志目录)
2、执行权限问题 (如sudo)
3、启动服务时建议指明配置文件的路径
4、最大的一个问题就是初始化数据库 默认./bin/mysqld_safe的Mysql路径为/usr/local/mysql,但是普通用户对/usr/local是没有访问权限的,因此这个地方一定要替换成Mysql的目录


本以为很简单,但是做起来真的很麻烦
好了,今天就先到这里!后续还会继续补充 大家 晚安



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-36319-1-1.html 上篇帖子: 一次误删除mysql数据表的历险记 下篇帖子: 利用Xtrabackup进行mysql数据库的备份 数据库 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表