ubuntu下mysql安装、访问、配置及更改数据库存储路径

原始出处:

https://www.cnblogs.com/wwjchina/p/10949806.html

https://www.cnblogs.com/ruofengzhishang/p/5477502.html

 

一、安装mysql

  ubuntu系统安装配置APT源,apt install mysql-server mysql-client

 

二、查看安装端口情况

  sudo netstat -tap | grep mysql

 

三、打开关闭服务

  /etc/init.d/mysql start/stop/restart

  service mysql start/stop/restart

 

四、卸载

  sudo apt-get autoremove --purge mysql-server

  sudo apt-get remove mysql-server

  sudo apt-get autoremovemysql-server

  sudo apt-get remove mysql-common

  dpkg -l | grep ^rc| awk '{print $2}' | sudo xargsdpkg -P

  一般执行2、4、5即可

 

五、其它文件默认位置

  /usr/bin 客户端程序和脚本

  /usr/sbin mysqld 服务器

  /var/lib/mysql 日志文件,数据库 [重点要知道这个]

  /usr/share/doc/packages 文档

  /usr/include/mysql 包含(头)>文件

  /usr/lib/mysql 库

  /usr/share/mysql 错误消息和字符集文件

  /usr/share/sql-bench 基准程序

 

六、更改mysql存储路径

  默认mysql的安装位置位于/var/lib/mysql下,但/var/lib划分的空间有限,当mysql中的数据太多,则需要将mysql存储路径修改到大分区,进行如下操作:

  我这里将存储路径改到/mnt/mysql目录下

  1、关停mysql服务

    service mysqld stop

  2、复制原有数据

    cp -arp /var/lib/mysql  [新存储路径]

    ps:参数a,只复制目录属性,不赋值数据;参数r,递归复制目录;参数p,保留文件全部的属性,可指定

  3、修改权限

    chown -R mysql:mysql [新存储路径]

    //确保权限正确

  4、修改配置文件

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

    注释掉原来的:#datadir = /var/lib/mysql

    修改成:datadir=[新存储路径]

  5、修改启动文件

    vim /etc/apparmor.d/usr.sbin.mysqld 

    将:

       /var/lib/mysql r 

      /var/lib/mysql/** rwk 

     修改成:

       [新存储路径] r 

      [新存储路径]/** rwk 

 

  6、重启服务:

    /etc/init.d/apparmor restart  

    /etc/init.d/mysql restart

 

MySQL允许远程访问的设置

1.注释bind-address = 127.0.0.1。

代码如下:


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

将bind-address = 127.0.0.1注释掉(即在行首加#),如下:

代码如下:


# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下。

2.删除匿名用户

登录进数据库:

代码如下:


>mysql -uroot -p123456


然后,切换到数据库mysql。SQL如下:

代码如下:


use mysql;


然后,删除匿名用户。SQL如下:

代码如下:


delete from user where user='';

3.增加允许远程访问的用户或者允许现有用户的远程访问。

接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:

代码如下:


mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;


如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:

代码如下:


update user set host='%' where user='root' and host='localhost';

4.退出数据库

代码如下:


mysql> exit

在MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。

5.重启数据库

完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:

代码如下:


>sudo service mysql restart

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值