วันจันทร์ที่ 11 สิงหาคม พ.ศ. 2551

ปัญหาเรื่อง function บน MySQL 5.x

shell> mysql_upgrade -u root -p
shell> mysql_fix_privilege_tables --password=root_password
mysql> SET GLOBAL log_bin_trust_function_creators = 1;

สำเร็จครับ error ที่เจอหายเป็นปลิดทิ้ง ดังตัวอย่าง

################
[root@mysqlserver ~]# ps -aux |grep mysql
mysql 690 0.0 0.1 3456 1408 con- I 7:45AM 0:00.01 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra
mysql 791 0.0 1.2 57904 23896 con- S 7:45AM 0:00.29 [mysqld]
root 1391 0.0 0.1 3308 1108 p0 S+ 8:14AM 0:00.00 grep mysql
[root@mysqlserver ~]# mysqladmin -u root password 'xxxxxxxx'
[root@mysqlserver ~]# mysql_upgrade -u root -p
Enter password:
Looking for 'mysql' in: mysql
Looking for 'mysqlcheck' in: mysqlcheck
Running 'mysqlcheck'...
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.general_log
Error : You can't use locks with log tables.
status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
mysql.slow_log
Error : You can't use locks with log tables.
status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
Running 'mysql_fix_privilege_tables'...
OK
[root@mysqlserver ~]# mysql_fix_privilege_tables --password=xxxxxxxx
This script updates all the mysql privilege tables to be usable by
the current version of MySQL

done
[root@mysqlserver ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.1.22-rc-log FreeBSD port: mysql-server-5.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SET GLOBAL log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.00 sec)

mysql>

คลังบทความของบล็อก