Linux(CentOs) 下安装 Mysql

来源:互联网 发布:musecc 2018mac破解版 编辑:程序博客网 时间:2024/06/06 04:50
参考地址:http://www.jb51.net/article/104107.htm
参考地址:http://jingyan.baidu.com/article/a378c9609eb652b3282830fd.html
参考地址:http://www.cnblogs.com/xxoome/p/5864912.html


第一步:下载Mysql并解压
# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
# tar -zxvf mysql-mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz   (解压到当前目录)
# cp -r mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz  /usr/local/mysql     (复制解压后的到mysql目录)


第二步:添加用户组和用户
# groupadd mysql   (添加用户组)
useradd -g mysql mysql  (添加用户mysql 到用户组mysql)

第三步:安装数据库
# cd /usr/local/mysql
chown -R mysql:mysql ./    (修改目录拥有者为mysql用户)
./scripts/mysql_install_db --user=mysql (安装数据库)
这里可能会出错:FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:Data::Dumper
解决方法:
yum install -y perl-Data-Dumper
然后再执行:
./scripts/mysql_install_db --user=mysql
这里还可能出错:Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum install -y libaio
然后再执行:
./scripts/mysql_install_db --user=mysql

第四步:修改目录权限
# chown -R root:root ./   (修改当前目录拥有者为root用户
chown -R mysql:mysql data    修改当前data目录拥有者为mysql用户

第五步:添加mysql服务开机自启动
#  cp support-files/mysql.server /etc/init.d/mysql   (复制mysql到服务自动启动里面)
#  chmod +x /etc/init.d/mysql    (赋予可执行权限)
#  chkconfig --add mysql     (添加服务)
#  chkconfig --list   (显示服务列表)
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
#  chkconfig --level 345 mysql on
mkdir /var/log/mariadb    (创建日志文件夹,固定/var/log/mariadb不能修改)
# vi /etc/init.d/mysql    (修改启动脚本,修改项如下)
basedir=/usr/java/mysql/
datadir=/usr/java/mysql/data
# service mysql start     (启动Mysql数据库)
ps -ef | grep mysql     (查看Mysql是否启动成功)
# service mysql stop        (关闭mysql)
# service mysql restart       (重新启动mysql)
# service mysql status        (查看运行状态)
# cat /etc/my.cnf          (my.cnf里面保存了mysql的配置信息,从中可以找到mysql的日志文件路径)
# cat /var/log/mysqld.log     (查看mysql日志)

第六步:配置环境变量(主要是方便操作,不配置也可以)
# vi /etc/profile
export PATH=$PATH:/usr/java/mysql/bin  (这样可以在任何地方用mysql命令了)
source /etc/profile   (加载环境变量)

第七步:连接数据库
# mysql -uroot -p  (连接数据库,默认数据库的root用户没有密码)
这里有可能出错: Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”
路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了

第八步:权限控制,去除匿名用户
# mysql -ux3         (测试匿名用户登录)
> show databases    (查询ux3可以操作的数据库)
> quit        (退出数据库连接)
使用root用户登录,删除匿名用户
#mysql -uroot       (默认数据库的root用户没有密码)
>delete from mysql.user where User='';     (删除匿名用户)
>flush privileges;      (强制刷新权限)
>quit        (退出数据库连接)
至此匿名用户就被删除了

第九步:设置root用户的密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
mysqladmin -u root password 123

第十步:设置远程连接的用户权限
#mysql -uroot -p       (使用root用户登录)
>GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
(第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个itoffice表示密码)。
>flush privileges;    (使命令立即生效)
>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;    (查询数据库的用户)
>exit     (退出数据库连接)
设置防火墙允许3306端口 (因为CentOs 默认使用的是firewall作为防火墙,所以iptables设置没效果。这里有两种解决方法:1是停止firewall启用iptables.2是在firewall上开放端口。我采用的是第2种方式,将在下篇《Linux(CentOs7.2) 下使用 firewall 配置防火墙及端口 》中介绍)
原创粉丝点击