一、Root用户操作
1、创建普通用户
1
2
<code>[root@localhost ~]</code><code># useradd ipdev</code>
<code>[root@localhost ~]</code><code># echo "ipdev" |passwd --stdin ipdev > /dev/null</code>
2、创建运行mysql服务的用户
<code>[root@localhost ~]</code><code># useradd mysql</code>
3、验证用户是否创建成功
3
4
<code>[root@localhost ~]</code><code># id ipdev</code>
<code>uid=500(ipdev) gid=500(ipdev) 组=500(ipdev)</code>
<code>[root@localhost ~]</code><code># id mysql</code>
<code>uid=501(mysql) gid=501(mysql) 组=501(mysql)</code>
4、赋予普通用户ipdev执行sudo的权限
<code>[root@localhost ~]</code><code># echo "ipdev ALL=(ALL:ALL) ALL" > /etc/sudoers.d/ipdev</code>
<code>[root@localhost ~]</code><code># chmod 400 /etc/sudoers.d/ipdev</code>
5、首次初始化数据库时的依赖包先安装之
<code>[root@localhost ~]</code><code># yum -y install libaio</code>
二、Indev用户操作 | 普通用户
1、准备工作
5
6
7
8
<code>[ipdev@localhost ~]$ </code><code>who</code>
<code>root tty1 2014-12-04 23:24</code>
<code>root pts</code><code>/0</code> <code>2014-12-04 23:25 (192.168.0.103)</code>
<code>ipdev pts</code><code>/1</code> <code>2014-12-04 23:31 (192.168.0.103)</code>
<code>[ipdev@localhost ~]$ </code><code>pwd</code>
<code>/home/ipdev</code>
<code>[ipdev@localhost ~]$ </code><code>ls</code>
<code>mysql-5.6.12-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz</code>
2、解压Mysql安装包
<code>[ipdev@localhost ~]$ </code><code>tar</code> <code>xf mysql-5.6.12-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz </code>
<code>[ipdev@localhost ~]$ </code><code>ln</code> <code>-s mysql-5.6.12-linux-glibc2.5-x86_64 mysql</code>
<code>[ipdev@localhost ~]$ ll</code>
<code>总用量 299028</code>
<code>lrwxrwxrwx 1 ipdev ipdev 34 12月 4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64</code>
<code>drwxrwxr-x 13 ipdev ipdev 4096 12月 4 23:35 mysql-5.6.12-linux-glibc2.5-x86_64</code>
<code>-rw-rw-r-- 1 ipdev ipdev 306192671 12月 4 23:33 mysql-5.6.12-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz</code>
3、创建数据存储目录
<code>[ipdev@localhost ~]$ </code><code>mkdir</code> <code>data</code>
4、赋予Mysql安装程序目录和数据存放目录权限
#重点标记:数据存放目录data的权限一定要控制好,否则后续初始化数据库的时候就会报错
9
10
11
12
13
14
15
16
17
18
19
<code>[ipdev@localhost ~]$ </code><code>chown</code> <code>-R mysql data</code>
<code>chown</code><code>: 正在更改</code><code>"data/"</code> <code>的所有者: 不允许的操作</code>
<code>[ipdev@localhost ~]$ </code><code>sudo</code> <code>chown</code> <code>-R mysql data </code>
<code>We trust you have received the usual lecture from the </code><code>local</code> <code>System</code>
<code>Administrator. It usually boils down to these three things:</code>
<code> </code><code>#1) Respect the privacy of others.</code>
<code> </code><code>#2) Think before you type.</code>
<code> </code><code>#3) With great power comes great responsibility.</code>
<code>[</code><code>sudo</code><code>] password </code><code>for</code> <code>ipdev: </code>
<code>[ipdev@localhost ~]$ </code><code>sudo</code> <code>chown</code> <code>-R mysql mysql </code>
<code>总用量 299032</code>
<code>drwxrwxr-x 2 mysql mysql 4096 12月 4 23:35 data</code>
<code>lrwxrwxrwx 1 mysql ipdev 34 12月 4 23:35 mysql -> mysql-5.6.12-linux-glibc2.5-x86_64</code>
<code>drwxrwxr-x 13 mysql ipdev 4096 12月 4 23:35 mysql-5.6.12-linux-glibc2.5-x86_64</code>
5、初始化数据库
<code>[ipdev@localhost ~]$ .</code><code>/mysql/scripts/mysql_install_db</code> <code>--user=mysql --datadir=</code><code>/home/ipdev/data/</code> <code>--basedir=</code><code>/home/ipdev/mysql/</code>
在初始化数据库的时候,我遇到两个错误如下
<code>***********************************遇到的错误***********************************************************</code>
<code>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 </code><code>for</code> <code>more</code> <code>details).</code>
<code>2014-12-04 23:37:26 1438 [Warning] Can't create </code><code>test</code> <code>file</code> <code>/home/ipdev/data/localhost</code><code>.lower-</code><code>test</code> <code>错误1</code>
<code>2014-12-04 23:37:26 1438 [Warning] Can't create </code><code>test</code> <code>file</code> <code>/home/ipdev/data/localhost</code><code>.lower-</code><code>test</code>
<code>2014-12-04 23:37:26 1438 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000) 错误2</code>
<code>*********************************************************************************************************</code>
解决办法
<code>错误1的解决办法:</code>
<code>sudo</code> <code>chown</code> <code>-R mysql.mysql data</code>
<code>而非</code>
<code>错误2的解决办法</code>
<code># sudo vim /etc/security/limits.conf</code>
<code>末尾行增加如下信息</code>
<code>* soft nofile 65535 </code>
<code>* hard nofile 65535 </code>
<code>普通用户需要重新登录,才能生效,查看命令umilit -n</code>
6、修改补充Mysql配置文件
<code>$ vim ~</code><code>/mysql/my</code><code>.cnf </code>
<code>[mysqld]</code>
<code>添加如下行</code>
<code>user = mysql</code>
<code>port = 3306</code>
<code>server_id = 1</code>
<code>socket = </code><code>/tmp/mysql</code><code>.sock</code>
<code>basedir = </code><code>/home/ipdev/mysql/</code>
<code>datadir = </code><code>/home/ipdev/data/</code>
<code>log-error = </code><code>/home/ipdev/data/mysql-error</code><code>.log</code>
<code>pid-</code><code>file</code> <code>= </code><code>/home/ipdev/data/mysql</code><code>.pid</code>
<code>log-bin = </code><code>/home/ipdev/data/mysql-bin</code><code>.log</code>
<code>open</code><code>-files-limit = 10240</code>
<code>skip_name_resolve=1</code>
<code>innodb_file_per_table=1</code>
7、启动Mysql服务
注意:启动的时候也很重要,否则也会报很多错误
<code>[ipdev@localhost ~]$ </code><code>sudo</code> <code>sed</code> <code>-i </code><code>'s#/usr/local#/home/ipdev#g'</code> <code>~</code><code>/mysql/bin/mysqld_safe</code>
<code>[ipdev@localhost ~]$ ~</code><code>/mysql/bin/mysqld_safe</code> <code>--defaults-</code><code>file</code><code>=</code><code>/home/ipdev/mysql/my</code><code>.cnf &</code>
8、配置Mysql环境变量
<code>[ipdev@localhost ~]$ </code><code>echo</code> <code>"export PATH=\$PATH:/home/ipdev/mysql/bin/"</code> <code>>> ~/.bash_profile</code>
<code>[ipdev@localhost ~]$ </code><code>source</code> <code>~/.bash_profile</code>
9、登陆测试
<code>[ipdev@localhost ~]$ mysql -uroot -p -e </code><code>'show databases;'</code>
<code>Enter password: </code>
<code>+--------------------+</code>
<code>| Database |</code>
<code>| information_schema |</code>
<code>| mysql |</code>
<code>| performance_schema |</code>
<code>| </code><code>test</code> <code>|</code>
10、由于时间比较仓促,这里就不在多修改服务启动脚本了
<code>killall -9 mysqlpid | or | </code><code>kill</code> <code>mysqlpid</code>
需要注意几个地方:
1、目录权限问题 (比如数据存放目录,各种日志目录)
2、执行权限问题 (如sudo)
3、启动服务时建议指明配置文件的路径
4、最大的一个问题就是初始化数据库 默认./bin/mysqld_safe的Mysql路径为/usr/local/mysql,但是普通用户对/usr/local是没有访问权限的,因此这个地方一定要替换成Mysql的目录
本以为很简单,但是做起来真的很麻烦
好了,今天就先到这里!后续还会继续补充 大家 晚安
本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1586491,如需转载请自行联系原作者