关于ubuntu16.04 ubuntu14.04 安装MySQL的远程访问的问题

关于ubuntu16.04安装MySQL的远程访问的问题
1. sudo apt-get install mysql-server
2. sudo apt-get install mysql-client
3. sudo apt-get install libmysqlclient-dev
打开/etc/mysql/mysql.conf.d/mysqld.cnf这个文件里面有一个
bind-address = 127.0.0.1 ->将其注释掉
登陆mysql
命令:mysql -u root -p
输入安装时的密码:Enter password:   
然后在mysql>这里输入:grant all on *.* to username@'%' identified by 'password';
注意:username是用户名,password是要自己填写的一个名字,例如:
grant all on *.* to root@'%' identified by '1234567890';     
mysql>flush privileges;  ---> 最后刷新一下      就成功了

UTF8的问题
查看ubuntu mysql是否支持utf-8
SHOW VARIABLES LIKE 'collation_%';
show variables like 'character\_set\_%';
全部是有utf-8编绎就对了,如果不是请按下面的方法修改
sudo vim /etc/mysql/mysql.conf.d/mysql.cnf这个文件里面有一个
character-set-server=utf8

collation-server=utf8_general_ci

default-time-zone='+8:00'

SHOW VARIABLES LIKE '%time_zone%'; 查看时区

    mv /etc/localtime /etc/localtime-bak
    ln -s /usr/share/zoneinfo/UTC /etc/localtime


    之后service mysql restart 还是无法启动
    Job for mysql.service failed. See *systemctl status mysql.service* and *journalctl -xn* for details.
    好吧最后在贴吧找到了答案用下面这条指令:
    systemctl restart mysql.service

如果在使用
Navicat Premium 工具查看修改数据库的时候,会有下面的提示
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ'
 which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
需要在
sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
最后一行添加如下语句:
sql_mode='NO_ENGINE_SUBSTITUTION'  就可以解决这个问题了,谢谢了!

解决用navicate远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes
在mysql命令行中执行
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1472583690');
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '1472583690' WITH GRANT OPTION;

flush privileges;

OK,一定成功的哈!

如果出现这个提示:解决方案如下

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

sudo mysql -u root -p 

update mysql.user set authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password' where user='root';

flush privileges;

一定可以成功的哈!

如果mysql -u root -p出现下面的提示:

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

方法一: 
# /etc/init.d/mysql stop 
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
# mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# /etc/init.d/mysql restart 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 
mysql> 
方法二: 
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: 
# mysql -udebian-sys-maint -p 
Enter password: <输入[client]节的密码> 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 
mysql> 
方法三: 
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢! 
# mysql -uroot -p 

Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的用户和密码>

例如:mysql -r  debian-sys-maint -p    输入相对应的密码就可以进去,再做上面的操作就行了!

关于win10安装mysql的方法如下:

1。首先是把mysql下载下来解压,任何盘都可以,再用windows C:\windows\system32\cmd.exe  要用高级管理员权限才可以配哈

2.解压下D:\mysql-5.7.14-winx64\my-default.ini这个文件,复制一个my.ini这个文件来修改里面的参数,

 basedir = D:\mysql-5.7.14-winx64    解压的目录
 datadir = D:\mysql-5.7.14-winx64\data
 skip-grant-tables
 character-set-server=utf8
 collation-server=utf8_general_ci

 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 

添加如上6句话就OK了。其它的不用修改

这里需要注意的是,data文件夹一定不要新建这个目录,这个data后面在执行命令的时候会自动生成,要不然的话,自己建的,后面会报错。

3.mysqld -install  对应的 mysqld -remove
4.mysqld --initialize 这句话就会自动创建data文件夹和下面的很多数据
5.net start mysql启动  对应的   停止命令 net stop mysql
6.mysql -uroot -p就可以进去了

就可以使用了,UTF-8上面已经解决了哈

一定会成功的,很简单的哈!

方法一:通过mysql命令行模式下动态修改

1.1 查看mysql当前时间,当前时区

?

> selectcurtime();  #或selectnow()也可以

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

| curtime() |

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

| 15:18:10 |

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

> show variableslike "%time_zone%";

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

| Variable_name  | Value |

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

| system_time_zone | CST  |

| time_zone    | SYSTEM |

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

2rows in set (0.00 sec)

#time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区

1.2 修改时区

?

1.2 修改时区

?

1

2

3

> setglobal time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区

>set time_zone = '+8:00'; ##修改当前会话时区

> flushprivileges; #立即生效

猜你喜欢

转载自blog.csdn.net/hehaibo2008/article/details/52326991
今日推荐