zoukankan      html  css  js  c++  java
  • ubuntu 下安装mysql 遇到的问题 centos 下安装 mysql 《转载》

    Ubuntu18.04下安装MySQL
    提示:以下操作均在root权限下进行。

    查看有没有安装MySQL:

    dpkg -l | grep mysql

    安装MySQL:

    apt install mysql-server

    安装完成之后可以使用如下命令来检查是否安装成功:

    netstat -tap | grep mysql

    通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。

    登录mysql数据库可以通过如下命令:

    mysql -u root -p

    -u 表示选择登陆的用户名, -p 表示登陆的用户密码,现在是mysql数据库是没有密码的,Enter password:处直接回车,就能够进入mysql数据库。

    然后通过 show databases; 就可以查看当前的所有数据库。

    接下来,为了确保数据库的安全性和正常运转,对数据库进行初始化操作。这个初始化操作涉及下面5个步骤。

    (1)安装验证密码插件。

    (2)设置root管理员在数据库中的专有密码。

    (3)随后删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性。

    (4)删除默认的测试数据库,取消测试数据库的一系列访问权限。

    (5)刷新授权列表,让初始化的设定立即生效。

    对于上述数据库初始化的操作步骤,在下面的输出信息旁边我做了简单注释。

    root@ubuntu-virtual-machine:~# mysql_secure_installation

    Securing the MySQL server deployment.

    Connecting to MySQL using a blank password.

    VALIDATE PASSWORD PLUGIN can be used to test passwords
    and improve security. It checks the strength of password
    and allows the users to set only those passwords which are
    secure enough. Would you like to setup VALIDATE PASSWORD plugin? # 要安装验证密码插件吗?

    Press y|Y for Yes, any other key for No: N # 这里我选择N
    Please set the password for root here.

    New password: # 输入要为root管理员设置的数据库密码

    Re-enter new password: # 再次输入密码

    By default, a MySQL installation has an anonymous user,
    allowing anyone to log into MySQL without having to have
    a user account created for them. This is intended only for
    testing, and to make the installation go a bit smoother.
    You should remove them before moving into a production
    environment.

    Remove anonymous users? (Press y|Y for Yes, any other key for No) : y # 删除匿名账户
    Success.

    Normally, root should only be allowed to connect from
    ‘localhost’. This ensures that someone cannot guess at
    the root password from the network.

    Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N # 禁止root管理员从远程登录,这里我没有禁止

    … skipping.
    By default, MySQL comes with a database named ‘test’ that
    anyone can access. This is also intended only for testing,
    and should be removed before moving into a production
    environment.

    Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y # 删除test数据库并取消对它的访问权限

    • Dropping test database…
      Success.

    • Removing privileges on test database…
      Success.

    Reloading the privilege tables will ensure that all changes
    made so far will take effect immediately.

    Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y # 刷新授权表,让初始化后的设定立即生效
    Success.

    All done!

    检查mysql服务状态:

    systemctl status mysql

    显示如下结果说明mysql服务运行是正常的:

    再次用mysql -u root -p命令,Enter password:处输入刚设置的密码,回车,就能够进入mysql数据库。

    使用 use mysql; 命令打开mysql命名的数据库,显示当前数据库的表:show tables; 查询user表里的数据:select * from user;(user表里是mysql数据库的所有账户信息)

    现在配置mysql允许远程访问,首先编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件:

    vim /etc/mysql/mysql.conf.d/mysqld.cnf

    注释掉bind-address = 127.0.0.1

    保存退出,然后进入mysql数据库,执行授权命令:

    mysql -u root -p

    mysql> grant all on . to root@’%’ identified by ‘你的密码’ with grant option;

    mysql> flush privileges; # 刷新权限

    mysql> exit

    然后执行exit命令退出mysql服务,再执行如下命令重启mysql:

    systemctl restart mysql

    现在Windows下可以使用Navicat图形化工具远程连接Ubuntu下的MySQL数据库,输入刚授权远程权限的密码。

    这里顺便再分享下:Navicat for MySQL 10.1.7安装包

    链接:https://pan.baidu.com/s/1CyDXr79v7Ufc60fv_XQ_gA ,提取码:ohf8

    OK,到这里Ubuntu18.04下安装MySQL已经完成了。

    操作过程中我遇到了以下错误:

    E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

    转载   https://blog.csdn.net/zhemeiyouyong/article/details/99905392

    解决方法,参考自文章:https://www.linuxidc.com/Linux/2018-12/155949.htm

    ubuntu系统:今天打开电脑登陆mysql:mysql -uroot -p
    结果发现了这个错误

    Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
    • 1

    然后我就在/var/run/mysqld/中找mysqld.sock,发现这个文件夹是空的在网上搜一下发现,加一个软连接就可以了,结果所要链接的文件也没有找到,然后就想到了重装mysql,然后

    sudo apt-get --purge remove mysql-server
    sudo apt-get --purge remove mysql-client
    sudo apt-get autoremove 
    sudo apt-get --purge remove mysql-common 

    然后重新安装

    sudo apt-get install mysql-server mysql-client

    结果安装过程中出现了错误: 候选项路径 /etc/mysql/mysql.cnf 不存在,然后google一下

    sudo apt-get remove --purge mysql-*
    sudo apt-get install mysql-server mysql-client

    解决了问题,但是mysq.sock问题,以后一定要查一下这些命令,不要每次都是直接去查,而不去想  《转载》

    Mysql-8.0.19 版本的安装说明请移步:Linux下安装mysql-8.0.19

    Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的难题,而且很多时候按照教程也没有能够安装成功,安装过程出现各种各样的错误。

    下面记录了我在Linux(Centos 7)环境下安装Mysql的完整过程,实操记录,绝非水文,如有错误或遗漏,欢迎指正。

    color{#FFA500}{ 注意1:} 本文档讲解安装版本为mysql-5.7.24,对于5.7.24之后的版本,不适用此说明文档,主要原因在于之后版本的mysql配置文件的目录位置和结构有所改变,使用此说明可能会出现找不到配置文件或者配置后不生效的情况。

    color{#FFA500}{ 注意2:} 安装过程中务必保证文件路径的前后统一,否则可能会导致不可预期的结果,推荐直接使用文中的命令进行操作。

    一 安装前准备

    1、检查是否已经安装过mysql,执行命令

    [root@localhost /]# rpm -qa | grep mysql
    
     
     

    从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令

    [root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
    

    再次执行查询命令,查看是否删除

    [root@localhost /]# rpm -qa | grep mysql
    
     
     

    2、查询所有Mysql对应的文件夹

    [root@localhost /]# whereis mysql
    mysql: /usr/bin/mysql /usr/include/mysql
    [root@localhost lib]# find / -name mysql
    /data/mysql
    /data/mysql/mysql
    

    删除相关目录或文件

    [root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 
    

    验证是否删除完毕

    [root@localhost /]# whereis mysql
    mysql:
    [root@localhost /]# find / -name mysql
    [root@localhost /]# 
    

    3、检查mysql用户组和用户是否存在,如果没有,则创建

    [root@localhost /]# cat /etc/group | grep mysql
    [root@localhost /]# cat /etc/passwd |grep mysql
    [root@localhost /]# groupadd mysql
    [root@localhost /]# useradd -r -g mysql mysql
    [root@localhost /]# 
    

    4、从官网下载是用于Linux的Mysql安装包

    下载命令:

    [root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
    

    也可以直接到 mysql官网 选择对应版本进行下载。

     
     

    二 安装Mysql

    1、在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
    执行解压命令:

    [root@localhost /]#  tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
    [root@localhost /]# ls
    mysql-5.7.24-linux-glibc2.12-x86_64
    mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
    

    解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql

    如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。

    执行命令如下:

    [root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
    [root@localhost /]# cd /usr/local/
    [root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
    

    如果/usr/local/下不存在mysql文件夹,直接执行如下命令,也可达到上述效果。

    [root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
    

    2、在/usr/local/mysql目录下创建data目录

    [root@localhost /]# mkdir /usr/local/mysql/data
    

    3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

    [root@localhost /]# chown -R mysql:mysql /usr/local/mysql
    [root@localhost /]# chmod -R 755 /usr/local/mysql
    

    4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

    [root@localhost /]# cd /usr/local/mysql/bin
    [root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
    
    补充说明:

    第4步时,可能会出现错误:

     
     

    出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

    [root@localhost bin]# rpm -qa|grep libaio   
    [root@localhost bin]# 
    

    运行命令后发现系统中无该链接库文件

    [root@localhost bin]#  yum install  libaio-devel.x86_64
    

    安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:

     
     

    执行如下命令后:

    [root@localhost bin]#  yum -y install numactl
    

    执行无误之后,再重新执行第4步初始化命令,无误之后再进行第5步操作!

    5、运行初始化命令成功后,输出日志如下:

     
     

    记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。

    6、编辑配置文件my.cnf,添加配置如下

    [root@localhost bin]#  vi /etc/my.cnf
    
    [mysqld]
    datadir=/usr/local/mysql/data
    port=3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    symbolic-links=0
    max_connections=600
    innodb_file_per_table=1
    lower_case_table_names=1
    

    7、测试启动mysql服务器

    [root@localhost /]# /usr/local/mysql/support-files/mysql.server start
    

    显示如下结果,说明数据库安装并可以正常启动

     
     

    异常情况

    如果出现如下提示信息

    Starting MySQL... ERROR! The server quit without updating PID file
    

    查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令

    #查询服务
    ps -ef|grep mysql | grep -v grep
    ps -ef|grep mysqld | grep -v grep
    
    #结束进程
    kill -9 PID
    
    #启动服务
     /usr/local/mysql/support-files/mysql.server start
    
     
     

    8、添加软连接,并重启mysql服务

    [root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
    [root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    [root@localhost /]#  service mysql restart
    

    9、登录mysql,修改密码(密码为步骤5生成的临时密码)

    [root@localhost /]#  mysql -u root -p
    Enter password:
    mysql>set password for root@localhost = password('yourpass');
    
     
     

    10、开放远程连接

    mysql>use mysql;
    msyql>update user set user.Host='%' where user.User='root';
    mysql>flush privileges;
    
     
     

    11、设置开机自动启动

    1、将服务文件拷贝到init.d下,并重命名为mysql
    [root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    2、赋予可执行权限
    [root@localhost /]# chmod +x /etc/init.d/mysqld
    3、添加服务
    [root@localhost /]# chkconfig --add mysqld
    4、显示服务列表
    [root@localhost /]# chkconfig --list
    

    至此,mysql5.7.24版本的数据库安装,已经完成。

    作者:开心跳蚤
    链接:https://www.jianshu.com/p/276d59cbc529
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    【实验吧】CTF_Web_登录一下好吗?
    各种常用数字格式化
    .Net 4.0 (2)
    springBoot+springSecurity 数据库动态管理用户、角色、权限
    springboot+mybatis+SpringSecurity 实现用户角色数据库管理
    Spring boot中Redis的使用
    spring data jpa的使用
    如何优雅的使用mybatis
    WebJars
    mvn打包的POm文件
  • 原文地址:https://www.cnblogs.com/ittop/p/13809796.html
Copyright © 2011-2022 走看看