mysql安装和遇到的问题处理

遇到须要在新系统上安装MySQL的事情,简单记录一下过程。html

声明:最好的文档是官方文档,我也是看的官方文档,只是中间遇到点问题,记录一下出现的问题和处理方式。贴一些官方文档地址。mysql

用tar包的安装方式:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.htmllinux

用yum源等其余安装方式:https://dev.mysql.com/doc/refman/5.7/en/linux-installation.htmlsql

 

我那个里条件限制选择的tar包方式,其余方式的本身看官方文档吧,更简单。数据库

一、去下载一个tar包:https://dev.mysql.com/downloads/mysql/,我用的CentOS7.4,各自选择对应的版本下载就好了,包括下面步骤中的命令,不一样系统可能也会有区别,注意根据本身系统修改。安全

 

二、将下载的安装包上传到服务器的/opt目录下。服务器

三、新建用户组和添加mysql用的非登陆用户 socket

    groupadd mysql;优化

    useradd -r -g mysql -s /bin/false mysql;spa

四、切换到安装路径下,这里使用官方推荐的路径,而后将tar包解压到这里,再给安装目录建立个软链接,剩余的操做都是操做的软链接目录。

    cd /usr/local

    tar zxvf /opt/mysql-5.7.21-el7-x86_64.tar.gz;

    ln -s mysql-5.7.21-el7-x86_64/ mysql

    写入环境变量

    export PATH=$PATH:/usr/local/mysql/bin

五、进入软链接目录,建立文件夹和受权

    cd /usr/local/mysql;

    mkdir mysql-files;

    chown mysql:mysql mysql-files;

    chmod 750 mysql-files;

六、初始化数据库的部署数据,用--initialize会给root生成一个默认密码,--initialize-insecure不生成密码,还有--basedir和--datadir参数用法同样,这些配置能够去cat /etc/my.cnf中查看和修改,默认配置知足个人需求我初始化就不指定了

    bin/mysqld --initialize --user=mysql

    结果报了个错bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

    这是缺乏包形成的,若是已经安装了libnuma.so.1,先yum remove libnuma.so.1,而后从新安装64位的

    yum install numactl.x86_64

    以后再从新执行mysql初始化命令,就能够了,记住下面这个密码,首次登录要用,登录后会再修改。

 

    若是要用mysql_ssl_rsa_setup建立默认的SSL和RSA文件就执行

    bin/mysql_ssl_rsa_setup

七、到这里安装就结束了,启动服务,用推荐的mysqld_safe方式启动,作了安全优化和服务挂了能自动重启等功能,能够本身查一下。

bin/mysqld_safe --user=mysql &

结果报错了mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

这个看应该是权限问题,增长权限配置,

 mkdir /var/log/mariadb/;

 touch /var/log/mariadb/mariadb.log;

 chown -R mysql:mysql /var/log/mariadb/

再从新执行,仍是有错

分析/var/log/mariadb/mariadb.log日志, Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory),一样的处理方式

mkdir /var/run/mariadb/;
chown -R mysql:mysql /var/run/mariadb/

再次执行mysqld_safe,成功

 

八、登陆并修改密码

mysql -u root -p

输入密码,密码是初始化时候显示的那个,结果,又双叒叕报错了。。。Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

这个问题应该是多种解决方法,例如在/tmp目录下创建软链接,修改配置文件等,我是修改的配置文件

vi /etc/my.cnf   增长下面两行配置socket的路径,保存以后重启服务,再输入用户名密码能登陆了

修改默认的密码,要否则什么操做也不能作。

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

九、mysql默认只能本机链接,若是须要远程链接数据库,须要配置远程链接,咱们采用新增一个用户的方式,固然你也能够选择修改原来的root用户。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

十、如须要配置开机自启,按下面操做

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

    chmod +x /etc/init.d/mysql

    chkconfig --add mysql

    执行chkconfig --list查看列表,

若是看到mysql的服务,而且3,4,5都是on的话则成功,若是是off,则输入chkconfig --level 345 mysql on

 

到这里从安装到配置基本就结束了,若是没有特殊要求,这些步骤就知足正常使用了,时间太紧张排版有点乱,毕竟不是为了上热门,只是平常积累,懒得排版了,有须要的凑合看吧

相关文章
相关标签/搜索