• linux下安装mysql


    一.linux安装mysql服务分两种安装方法:

    ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;

    ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。以下介绍linux使用官方编译好的二进制包安装mysql。

    安装前先卸载以前安装过的mysql

    yum方式:yum remove mysql

    rpm方式:

    rpm -qa | grep mysql  (这是查找包名)

    rpm -e --nodeps 上面查找到的包名

    源码方式:

    find / -name mysql (这是查找文件名)

    rm -rf 上面查找到的文件名

    二.到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit)32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)

    三.一般我们可以通过wget下载,wget下载的一般在用户的家目录下,例如下载mysql 5.6 的64位(可以根据自己的需求去mysql官网下载需要的版本)  wget  https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

      如果是root用户下载的一般在root 家目录,cd /root  就可以看见刚下载的包了,进入安装包所在目录,执行命令 tar -xvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz(这是我上面下载的mysql5.6的包)

      解压后的我们一般放在/usr/local目录下,PHP,mysql我们一般放在这个目录,(后两条命令在刚刚解压后的目录下进行)我一般先把解压后的目录改个名字mv mysql-5.6.40-linux-glibc2.12-x86_64 mysql,然后移动到/usr/local目录下cp mysql /usr/local

      注意:如果没有装过 基础软件的可以尝试执行以下命令,不然下面会报错,因为包没安装的原因(安装的就可以不用安装了

          yum install pcre gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel

        yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel make

        yum -y install gd gd2 gd-devel gd2-devel numactl openssl openssl-devel libxslt libxslt-devel pcre-devel vim libaio-devel.x86_64

    四.添加系统mysql组和mysql用户

      1.先执行这个命令,不然会报错(这个其实就是MySQL的配置文件放在哪里),rm -rf /etc/my.cnf,然后创建MySQL的数据存放目录(mkdir -p /var/data/mysql)

      2.先groupadd mysql,如果有就不用添加了,没有就添加useradd -r -g mysql mysql

    五.准备开始安装mysql数据库了

      1.先进入mysql的安装目录 cd /usr/local/mysql,

      2.修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

      3.mysql的安装目录是(/usr/local/mysql),MySQL的数据存储目录是(/var/data/mysql),这个不一定要和我配置的一样

    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp(如果执行这一步报错,可能你有基础软件没装,或者装过后又卸载了,文件没卸载干净,卸载命令最上面有,在这条命令的最后找到ERROR,复制错误去百度下就行)

      4.修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

      5.修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data,到此数据库安装完毕

    六.添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,chkconfig --add /etc/init.d/mysql,chkconfig mysql on ,启动mysql服务:执行命令service mysql start,执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功

    七.修改mysql的root用户密码,root初始密码为空的,执行命令:./bin/mysqladmin -u root password '密码',会报一个错不用管,如果报这个错的话

        error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

                 Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

    执行这个 命令(find / -name mysql.sock),把找到的目录软连接过去,我找到的目录,(ln -s /var/lib/mysql/mysql.sock /tmp)

    八.把mysql客户端放到默认路径:ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql,注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql

    九.比如远程链接时报没有权限,navicate链接时,报1130错误没有权限,先在linux下mysql -u root -p进入mysql,use mysql数据库,show tables;会看见user表,执行这个命令update user set host = '%' where user = 'root'; ,会报一个错,ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY',不用管,

    再执行这个命令FLUSH PRIVILEGES;,这时就可以远程访问了,

    十.退出mysql,再次进入时会报这个错误ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),这个你不输入密码进入就会显示数据库不全,输入密码就会报这个错,解决方法

    cd /usr/local/mysql(进入安装的目录)vim my.cnf ,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,保存退出

    service mysql restart(重启mysql后),mysql -u root -p 进入mysql直接按回车进入,不要输入密码

    依次执行以下代码

    use mysql;    update user set password=password("你的新密码") where user="root";  delete from user where USER="";   flush privileges;    quit;

    再去吧my.cnf的这一句话去掉(skip-grant-tables)

    service mysql restart(重新启动mysql),现在mysql安装好了

  • 相关阅读:
    BZOJ 2655: calc(拉格朗日插值)
    BZOJ 1485: [HNOI2009]有趣的数列(卡特兰数)
    [学习笔记] 关于组合数的一些总结
    CF 1076E Vasya and a Tree(线段树+树剖)
    CF 1082E Increasing Frequency(贪心)
    51nod 1149 Pi的递推式(组合数学)
    LOJ 2743(洛谷 4365) 「九省联考 2018」秘密袭击——整体DP+插值思想
    关于 unsigned int 比较大小
    洛谷 3295 [SCOI2016]萌萌哒——并查集优化连边
    洛谷 P4512 [模板] 多项式除法
  • 原文地址:https://www.cnblogs.com/dyj--php/p/9207742.html
Copyright © 2020-2023  润新知