workbench和mysql数据库名_Linux下mysql数据库和workbench的使用

本文详细介绍了在Ubuntu和Fedora/CentOS系统中安装MySQL、配置远程访问、修改字符集以及使用Workbench的步骤。内容涵盖启动、停止和重启MySQL服务,设置MySQL远程访问,以及调整字符编码至UTF-8。此外,还提供了修改MySQL密码和创建、删除用户的方法。
摘要由CSDN通过智能技术生成

Ubuntu

安装mysqlsudo apt-get install mysql-server mysql-client

测试是否安装成功sudo netstat -tap | grep mysql

Linux mysql修改root密码:

mysqladmin -u root password your_new_passwd

相关操作

登录 mysql -uroot -p

检查MySQL服务器占用端口 netstat -nlt|grep 3306

检查MySQL服务器系统进程 ps -aux|grep mysql

查看数据库的字符集编码 show variables like '%char%';

让MySQL服务器被远程访问

打开mysql配置文件sudo vim /etc/mysql/my.cnf #找到将bind-address = 127.0.0.1注销

#bind-address  = 127.0.0.1

修改后,重启MySQL服务器sudo /etc/init.d/mysql restart

重新登录mysql -uroot -p

grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';flush privileges;

检查MySQL服务器占用端口~ netstat -nlt|grep 3306tcp

0  0 0.0.0.0:3306  0.0.0.0:*  LISTEN

我们看到从之间的网络监听从 127.0.0.1:3306 变成 0 0.0.0.0:3306,表示MySQL已经允许远程登陆访问。

将字符编码设置为UTF-8(mysql 5.7.17)

默认情况下,MySQL的字符集是latin1,因此在存储中文的时候,会出现乱码的情况,所以我们需要把字符集统一改成UTF-8。

打开mysql配置文件

sudo vim /etc/mysql/mysql.cnf

a) 打开mysql配置文件:  vim/etc/mysql/my.cnf

b) 在[client]下追加:  default-character-set=utf8

c) 在[mysqld]下追加:  character-set-server=utf8

d) 在[mysql]下追加:  default-character-set=utf8

最后:[client]

default-character-set = utf8

[mysql]

default-character-set = utf8

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8

collation-server = utf8_unicode_ci

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

修改后,重启MySQL服务器,并登录

mysql -uroot -p

再次查看字符串编码mysql> show variables like '%char%';

+--------------------------+----------------------------------+

| Variable_name | Value |

+--------------------------+----------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+-----------------------------------+

8 rows in set (0.00 sec)

workbench 就相当于一个Windows的sqldevelop之类的图形管理工具

Ubuntu自带应用商店有下 但是不带utils  可以去官网下载完整版

有代码提示等功能 挺方便

Fedora/Centos(Fedora是dnf,Centos是yum)

安装mysqldnf install mysql mysql-server mysql-libs mysql-server

mysql和 mysq lserver装好以后,安装workbench

mysql的配置文件被安装到/etc/my.cnf,

mysql server的启动脚本被安装到/etc/init.d/mysqld

打开3306端口

因为mysql默认使用的是3306端口,而centOS默认是不打开此端口的,因此要先打开它,命令是/sbin/iptables -I INPUT -p tcp --dport 3036 -j ACCEPT

保存设置/etc/rc.d/init.d/iptables save

更改编码:[client-server]

default-character-set = utf8

[mysql]

default-character-set = utf8

[mysqld]

symbolic-links=0

character-set-client-handshake = FALSE

character-set-server = utf8

collation-server = utf8_unicode_ci

!includedir /etc/my.cnf.d

使用service命令启动、停止和重启MySQL。#service mysqld start //启动

#service mysqld stop //停止

#service mysqld restart //重启

注意,这三个命令里面,是mysqld,后面还有字母d。这是MySQL服务的名称。

或者使用以下命令启动、停止和重启MySQL:#/etc/init.d/mysqld start

#/etc/init.d/mysqld stop

#/etc/init.d/mysqld retart

修改MySQL密码

这里只写在丢失了root密码的情况。步骤如下:

1)  停止mysqld服务#service mysqld stop 或#/etc/init.d/mysqld stop

2)安装模式进入mysql#mysqld_safe --user=mysql --skip-grant-tables –skip-networking &

#mysql -uroot -p

Enterpassword:  (不输入密码,直接按回车)

mysql>update mysql.user set password=PASSWORD(‘你要设置的密码’) where user=’root’;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql>flush privileges;

Query Ok, 0 rows affected (0.00 sec)

mysql>quit;

注意,在mysql的每一条命令(即mysql>的命令)最后都要加分号。然后就可以使用你设置的密码登陆了。#mysql –uroot –p

Enter password:

然后,然后你想干嘛就干嘛了

MYSQL启动问题

如果发现启动不了mysql,要先查看日志,日志存放在/var/log/mysql.log

进入目录/var/log/用gedit打开mysql.log文件,或者用命令行less  /var/log/mysql.log都可以,建议用命令行查看问题。有时候是因为端口被占用,例如:

[ERROR] Can’t start server: Bind on TCP/IP port: Cannot assign requested address

[ERROR] Do you already have another mysqld server running on port: 3306 ?

使用命令netstat查看端口使用情况,命令行如下:#netstat -anp | grep "3306"

如果端口没有被占用,不会显示什么,如果端口被占用,可能显示如下:

tcp  0  0  : : : 3306  : : : *  LISTEN  28194/mysqld

使用kill命令杀掉进程号:28194,命令如下# kill -9 28194

kill掉进程后,再用命令行netstat -anp|grep “3306”就没有东西了。

另外,如果登录不了MySQL,并且无论怎么修改密码,还是登录不了,例如出现如下错误:#mysql -u root -p

Enter password:

输入密码后者没有密码按回车后,都出现下面情况

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

这时候可以清理原来数据,重新配置一份数据了。命令行查看配置:# ps aux | grep mysql

可能显示如下:

root  5978 0.0  0.0 …… /bin/sh /usr/bin/mysqld_safe  –datadir=/var/lib/mysql  –socket=/var/lib/mysql/mysql.sock  –pid-file=/var/run/mysqld/mysqld.pid  –basedir=/usr  –user=mysql

mysql 6214 0.0 0.0 ….. /usr/libexec/mysqld –basedir=/usr  –datadir=/var/lib/mysql  –user=mysql  –log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid  –socket=/var/lib/mysql/mysql.sock

找到了datadir=/var/lib/mysql,只要删除该datadir目录下的数据文件,重新启动mysqld服务,自动生成一份即可。如果数据库里有东西,需要手动把数据库拷贝出去,重新生成后再拷贝回来即可。删除datadir下文件命令如下:#cd /var/lib/mysql

/var/lib/mysql目录下通常会有下面几个文件:

ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock test

删除,#rm -rf *

然后重启mysqld服务# service mysqld restart

重新用root登录,此时密码为空#mysql -u root

然后修改root密码以及声称新的用户和密码。#update mysql.user set password=password('new password') where user='root';

Mysql创建、删除用户

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.新建用户

登录MYSQL:@>mysql -u root -p

@>密码

创建用户:mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

这样就创建了一个名为:test 密码为:1234 的用户。

注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

然后登录一下:mysql>exit;

@>mysql -u test -p

@>输入密码

mysql>登录成功

2.为用户授权

授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

登录MYSQL(有ROOT权限),这里以ROOT身份登录:@>mysql -u root -p

@>密码

首先为用户创建一个数据库(testDB):mysql>create database testDB;

授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

mysql>flush privileges;//刷新系统权限表

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

如果想指定部分权限给一用户,可以这样来写:mysql>grant select,update on testDB.* to test@localhost identified by '1234';

mysql>flush privileges; //刷新系统权限表

授权test用户拥有所有数据库的某些权限:mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

//test用户对所有数据库都有select,delete,update,create,drop 权限。

//@”%” 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by ‘1234’;即可。

3.删除用户@>mysql -u root -p

@>密码

mysql>Delete FROM user Where User='test' and Host='localhost';

mysql>flush privileges;

mysql>drop database testDB; //删除用户的数据库

删除账户及权限:>drop user 用户名@'%';

>drop user 用户名@ localhost;

4.修改指定用户密码@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

mysql>flush privileges;

5.列出所有数据库mysql>show database;

6.切换数据库mysql>use '数据库名';

7.列出所有表mysql>show tables;

8.显示数据表结构mysql>describe 表名;

9.删除数据库和数据表mysql>drop database 数据库名;

mysql>drop table 数据表名

mysql5.7测试以上代码通过

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值