首页 > 学院 > 开发设计 > 正文

CentOS7安装mysql

2019-11-06 08:11:31
字体:
来源:转载
供稿:网友

linux下安装MySQL

linux版本:CentOS7 64位

    1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”    

# 安装依赖yum -y install perl perl-devel autoconf

    2、把下载的安装包移动到/usr/local/下。

    3、解压

tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

    4、复制解压后的mysql目录到系统的本地软件目录

cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r

    5、添加系统mysql组和mysql用户

groupadd mysqluseradd -r -g mysql mysql

    6、进入安装mysql软件目录,修改目录拥有者为mysql用户

cd mysql/chown -R mysql:mysql ./

    7、安装数据库,此处可能出现错误。

./scripts/mysql_install_db --user=mysql

    8、修改当前目录拥有者为root用户

chown -R root:root ./

    9、修改当前data目录拥有者为mysql用户

chown -R mysql:mysql data

============== 到此数据库安装完毕 =============

    10、启动mysql服务和添加开机启动mysql服务

添加开机启动,把启动脚本放到开机初始化目录。

cp support-files/mysql.server /etc/init.d/mysql

    11、启动mysql服务

#创建缺少的文件夹mkdir /var/log/mariadbservice mysql start

正常提示信息:Starting MySQL. SUCCESS!

 

     12、把mysql客户端放到默认路径

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql

=================== 这是分割线 ==================

通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。

错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”

路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

 到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。

 

###################### 分割线 ######################

权限控制

1、去除匿名用户

# 测试匿名用户登录mysql -ux3

可以看到匿名用户可以登录,具有information_schema和test库的相关权限。

# 删除匿名用户,使用root用户登录数据库delete from mysql.user where User='';flush PRivileges;

 

再次测试匿名用户登录

 

 以上为mysql5.7以下版本安装方式,下面介绍5.7.17版本安装

1.mysql5.7.17安装在/usr/local/mysql目录里面,也可以安装在其他地方 (安装包最好与Linux系统一样,eg;32位的就是“mysql-5.7.17-linux-glibc2.5-i686.tar.gz”,官网可下载)

mkdir /usr/local/mysql

2.解压并复制tar -xvf mysql-5.7.17-linux-glibc2.5-i686.tar.gzmv mysql-5.7.17-linux-glibc2.5-i686.tar.gz/* /usr/local/mysql/  3.创建data目录(很重要!)mkdir /usr/local/mysql/data  4.创建mysql用户和修改权限groupadd mysql  chown -R mysql.mysql /usr/local/mysql/  5.初始化数据[root@localhost mysql] ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/  2016-01-20 02:47:35 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize  2016-01-20 02:47:45 [WARNING] The bootstrap log isn't empty:  2016-01-20 02:47:45 [WARNING] 2016-01-19T18:47:36.732678Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead  2016-01-19T18:47:36.750527Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)  2016-01-19T18:47:36.750560Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)  

6. 复制配置文件到 /etc/my.cnf

cp -a ./support-files/my-default.cnf /etc/my.cnf (选择y)  7. mysql的服务脚本放到系统服务中cp -a ./support-files/mysql.server /etc/init.d/mysqld  修改my.cnf文件    (vim /etc/my.cnf)# These are commonly set, remove the # and set as required.  basedir = /usr/local/mysql  datadir = /usr/local/mysql/data  port = 3306  # server_id = .....  socket = /tmp/mysql.sock  character-set-server = utf8  # Remove leading # to set options mainly useful for reporting servers.  # The server defaults are faster for transactions and fast SELECTs.  # Adjust sizes as needed, experiment to find the optimal values.  # join_buffer_size = 128M  # sort_buffer_size = 2M  # read_rnd_buffer_size = 2M   

8.启动mysql

service mysqld start   ps -ef        #查看是启动

9.查看初始化自动生成的密码:   cat /root/.mysql_secret  (记住并复制下来,等会登陆mysql需要)

10.进入mysql:bin/mysql -uroot -p  (把刚刚复制的密码粘贴上来)

11.登录后重置root密码mysql> SET PASSWord  FOR 'root'@localhost = PASSWORD('123456');Query OK, 0 rows affected, 1 warning (0.00 sec)

 

              

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表