curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
yum install MariaDB-server
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
yum install MariaDB-server
在配置文件的mysqld一节,增加skip-grant-tables选项:
[mysqld] skip-grant-tables
重启mysql服务。
service mysql restart
在服务器本机进入mysql(不需要输入密码):
mysql
此时已经是root权限,可以做任何事情。有一点需要注意,如果要操作系统表,如增加用户等,可能会报错:
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个时候,在MySQL命令提示符下执行:
set global read_only=0; flush privileges;
接下来就可以创建用户,修改密码了。不过别忘了,在所有操作执行完毕后,运行:
set global read_only=1; flush privileges;
接下来退出MySQL命令行,删除或者注释掉刚开始添加到mysql配置文件(my.cnf)中的
skip-grant-tables
最后,保存配置文件,重启mysql服务即可。
MySQL不支持insert into table_name select column_list from source_table的语法,取而代之的是:
create table new_table (select column_list from source_table)
MySQL的delete from语句后面如果有子查询,那么子查询中不允许有where条件,下面是一个变通的方法:
drop table tmp_dummy_data
create table tmp_dummy_data
select key_columns
from source_table
group by key_columns
having count(*)>1
delete from source_table
where key_columns in (select key_columns
from tmp_dummy_data
)
最近在调用Query.executeUpdate()时,发现被影响的记录条数总是返回0;经过更换数据库驱动版本等努力均为解决。遂尝试改写SQL语句,使用SQLQuery,成功。
现在初步判断是Hibernate的Query.executeUpdate()返回值不是预期的结果,是我理解错了,还是确有问题,待验证。 Hibernate版本是3.6.7